test1 = \'name1\'
test2 = \'name2\'
..
test3 = \'name45\'
test4 = \'name1231231\'
Let\'s say I have bunch of strings which start with \'name\' and
In Python 3, you could do the following:
import string
for test in ['name1', 'name2', 'name45', 'name1231231', '123test']:
print(int(test.strip(string.ascii_letters)))
Giving you:
1
2
45
1231231
123
string.ascii_letters
gives you a string containing all upper and lowercase letters. Python's strip() function takes a string specifying the set of characters to be removed, which is this case is all alpha characters, thus leaving just the numbers behind.
Note: This would not be suitable for a string such as 123name456
.
If you know that the prefix is name
, then you can either remove just that string, or you can skip the first four letters, like so:
s = 'name123'
print int(s.replace('name',''))
s = 'name123'
print int(s[4:])