Showing posts with label string. Show all posts
Showing posts with label string. Show all posts

Saturday, April 7, 2012

Python: How to insert characters to the string at the end

Reference: http://stackoverflow.com/q/10059554/1276534
Credits: user1319219, Akavall, Mark Byers

Just in case you wondering what are the ways to insert character to the string at the front or back (beginning or end) of a string. Here are the ways to do it. Notice, string is immutable object, so you can not insert anymore characters into it. All we are doing is create a new string, and assign it to the variable. (That's why I did not use the same name, because I want to emphasize they are NOT the same string). But you can just as well use text = (any method)

# Create a new string that have 1 x in the beginning, and 2 x at the end
# So I want the string to look like this 'xHello Pythonxx'
text = 'Hello Python'

# Method 1, string concatenation
new_text = 'x' + text + 'xx'

# Method 2, create a new string with math operators
i = 1
j = 2
new_text = ('x'*i) + text + ('x'*j)

# Method 3, use the string's join() method
# You are actually joining the 3 part into a originally empty string
new_text = ''.join(('x', text, 'xx'))
And in case you don't trust me and want to see the output:
xHello Pythonxx
xHello Pythonxx
xHello Pythonxx

Python: How to find the integer and float in a string

Reference: http://stackoverflow.com/a/10059001/1276534
Credits: MellowFellow, hexparrot

If you have a string from somewhere, say a textbook, or an input. The string contain the data information you need. How do you extract the string? There are quite a few way to do it, range from hard code accessing it from index, to finding the E=, to using regular expression. In this example we will go over the middle of the range one. Because as beginner, it might not be the best idea to introduce regular expression yet. Plus this is the version I understand, maybe the regular expression version will be provided soon. (If you can't wait, you can check out from the reference link from above, there is the regular expression solution as well.)
# Assume you get this string from either a file or input from user
text_string = 'The voltage is E=500V and the current is I=6.5A'

# The starting index of this locating the voltage pattern
voltage_begin = text_string.find('E=')
# The ending index, note we are ending at 'V'
voltage_end = text_string.find('V', voltage_begin)

voltage_string = text_string[voltage_begin:voltage_end]
print(voltage_string, 'is at index:', voltage_begin, voltage_end)

#Since we know about the first to index is not useful to us
voltage_string = text_string[voltage_begin+2:voltage_end]

# So since now we have the exact string we want, we can cast it to an integer
voltage_as_int = int(voltage_string)
print(voltage_as_int)