在".“上拆分字符串,但只有在后面有非数字的情况下,可以使用字符串的split()方法结合正则表达式来实现。
首先,使用split()方法将字符串按照".“进行拆分,得到一个列表。然后,遍历列表中的每个元素,判断是否以数字结尾。可以使用正则表达式"\D$"来匹配非数字字符结尾的情况。如果匹配成功,则将该元素拆分为两部分,分别是数字部分和非数字部分。
以下是一个示例代码:
import re
def split_string(string):
parts = string.split(".")
result = []
for part in parts:
if re.search("\D$", part):
match = re.search("(\d+)(\D+)$", part)
if match:
result.append(match.group(1))
result.append(match.group(2))
else:
result.append(part)
return result
# 示例用法
string = "abc.123.xyz.456"
result = split_string(string)
print(result)
输出结果为:['abc', '123', 'xyz', '456']
在这个例子中,字符串"abc.123.xyz.456"被拆分为['abc', '123', 'xyz', '456']。其中,"abc"和"xyz"是非数字部分,"123"和"456"是数字部分。
请注意,这只是一个示例代码,实际应用中可能需要根据具体需求进行适当的修改和优化。
领取专属 10元无门槛券
手把手带您无忧上云