我有一个包含文字和数字的字符串,例如:
string = "Hello this is 123 456 a string for test 12 345 678. I want to merge 12 34 56"
我希望只有连续的数字,例如:
newString = "Hello this is 123456 a string for test 12345678. I want to merge 123456"
如何检测数字,检查它们是否连续并连接它们?
谢谢!
答案 0 :(得分:4)
这是使用正则表达式的一种方式:
import re
text = "Hello this is 123 456 a string for test 12 345 678. I want to merge 12 34 56"
newText = re.sub(r"(?<=\d)\s(?=\d)", '', text)
print(newText)
#'Hello this is 123456 a string for test 12345678. I want to merge 123456'
<强>解释强>
我们正在做的是用空字符串替换数字包围的任何空格。
(?<=\d)
表示数字(\d
)\s
表示匹配空格字符(?=\d)
表示数字正面预测答案 1 :(得分:3)
使用re.sub()
函数和特定的正则表达式模式:
import re
s = "Hello this is 123 456 a string for test 12 345 678. I want to merge 12 34 56"
result = re.sub(r'(\d+)\s+(\d+?)', '\\1\\2', s)
print(result)
输出:
Hello this is 123456 a string for test 12345678. I want to merge 123456