Python中的字符串划分
我有一个字符串列表,这些字符串的格式是用下划线分隔的名字部分。格式如下:
string="somethingX_somethingY_one_two"
我想知道怎么从每个字符串中提取出“one_two”,然后重建这个列表,使得每个条目只包含"somethingX_somethingY"
。我知道在C语言中,有一个叫做strtok的函数可以用来拆分字符串,但我不确定在Python中有没有类似的方法或者策略来实现这个效果。请帮帮我!
3 个回答
2
我觉得这个代码可以满足你的需求。
s = "somethingX_somethingY_one_two"
splitted = s.split( "_" )
splitted = [ x for x in splitted if "something" in x ]
print "_".join( splitted )
3
如果你想要把字符串末尾的“_one_two”去掉,可以这样做:
tail_len = len("_one_two")
strs = [s[:-tail_len] for s in strs]
如果你想去掉最后两个用下划线分开的部分,可以这样做:
strs = ["_".join(s.split("_")[:-2]) for s in strs]
如果这两种方法都不是你想要的效果,那就请更新问题,提供更多细节。
6
你可以使用分割和列表推导式来实现:
l = ['_'.join(s.split('_')[:2]) for s in l]