提问人:mac 提问时间:7/22/2023 最后编辑:wjandreamac 更新时间:7/22/2023 访问量:68
如何从给定的字符串中获取子字符串?
How to grab a substring from a given string?
问:
基本上我有以下字符串,我想从中获取一个子字符串。
input: RT4_MANGO_AF
output: MANGO
input: RT4_DF5_WE_APPLE_AF
output: APPLE
input: TF_WE_BANANA_AF
output: BANANA
input: RT4_DF5_ORANGE_AF
output: ORANGE
请注意,这里的提示是,最后 3 个字符将保留,我想在最后一个但一个符号之前和之后抓取子字符串。_AF
_AF
_
我有以下代码可以做同样的事情,但我觉得它不是最佳的。有没有办法优化这段代码?或者我可以得到优化的代码吗?
sd = 'ER5_WE_APPLE_AF'
m = sd[:-3]
for i in range(len(m)):
if m[i] == "_":
si = i
else:
continue
m = m[si+1:]
print(m)
答:
3赞
aditpatel
7/22/2023
#1
简单地写作就可以了。我们可以这样做,因为字符串的末尾将始终包含“_AF”,因此我们可以获取之前的子字符串。print(sd.split('_')[-2])
评论
print(sd.split('_')[-2])
会做到的。在下划线上将字符串拆分为单词,然后抓住倒数第二个。sd.rsplit('_', 2)[-2]