Python中的字符串划分

2 投票
3 回答
8632 浏览
提问于 2025-04-16 03:03

我有一个字符串列表,这些字符串的格式是用下划线分隔的名字部分。格式如下:

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]

撰写回答