有一个字符串“X_100_1”只想获取最后一个下划线之前的所有内容“X_100” 或者说“X1000_1_2”获取得到“X1000_1” 待处理的字符串都有一个固定格式,就是最后会有一个“_数字”,不管整个字符串里面有几个下划线,只需要获取最后一个下划线之前的内容。 刚入门,已知的方法解决不了,谢谢大家
s = "X1000_1_2"
print(s.rindex("_"))
print(s[0: s.rindex("_")])
获取最后一个字符下标从0开始截取
字符串方法:rindex,返回索引最高的,即最后一个
string = "X1000_1_2"
index = string.rindex('_')
target_string = string[:index]
正则:sub方法,匹配任意字符串 + 最后一个下划线 + 一个数字,返回下划线前的内容
import re
string = "X1000_1_2"
target_string= re.sub('(.*)(_\d)', r'\1', string)
s = "X_100_1"
print(s[0:s.rfind('_', 1)])
若有帮助,请采纳!
先按下划线切开,取除了最后一位的其他内容,再用下划线连接回来
s = "X_100_16546564_5465"
s = s.split("_")[:-1]
out = '_'.join(s)
print(out)