如何识别字符串中的最后一个整数值

时间:2018-08-02 05:29:56

标签: python python-3.x

我必须在字符串的最后一个整数值之前添加一个字符串

string = "298 Anna salai Chennai 607106"

预期结果:

"298 Anna salai Chennai TN 607106"

4 个答案:

答案 0 :(得分:2)

您应该为此使用正则表达式:

import re
string = "298 Anna salai Chennai 607106"
string = re.sub(r'(\d+)$', r'TN \1', string)
print(string)

如果要重复搜索和替换,则应首先编译该模式。

import re
string1 = "298 Anna salai Chennai 607106"
string2 = "111 ABC 123456"
pattern = re.compile(r'(\d+)$')
repl = r'TN \1'
string1 = re.sub(pattern, repl, string1)
string2 = re.sub(pattern, repl, string2)

print(string1)
print(string2)

答案 1 :(得分:0)

只需找到子字符串的索引并使用拆分创建新字符串:

m = re.search(r'(\d+)\D*$',string)
number = m.group()    
i = string.find(number)
new_string = string[:i] + "TN " + string[i:]

答案 2 :(得分:0)

您可以使用正则表达式(regex)执行此类任务
了解有关regex

的更多信息
import re
re.search(r'(\d+)\D+$', string).group(1)

答案 3 :(得分:0)

要获取字符串中的最后一项(即数字),您要做的就是使用split

last_value_integer = int(string.split(' ')[len(string.split(' '))-1])