Python,如何比较子串?

时间:2015-05-21 20:27:59

标签: python

我试图比较子串,如果我找到匹配,我就会摆脱循环。这是一些字符串的示例:

'something_tag_05172015.3', 'B_099.z_02112013.1', 'something_tag_05172015.1' ,'BHO98.c_TEXT_TEXT_05172014.88'. 

比较应该只比较我要查找的字符串,以及相同字符串中的所有内容,以及最后一个下划线左边的内容' _'在字符串中。因此,'something_tag'应仅匹配'something_tag_05172015.3''something_tag_05172015.1'

我做了这件事是我拆分下划线并对所有元素进行了连接,但是拆分中的最后一个元素与我的测试字符串进行比较(这会将所有内容放到最后一个下划线的右边。虽然它有效,这是一个更好的方法。我在考虑使用正则表达式删除最后一个下划线和数字,但它在一些标签上没有正常工作。

这是我正在尝试的正则表达式的一个示例:re.sub('_\d+\.\d+', '', string_to_test)

2 个答案:

答案 0 :(得分:2)

如果你确定something_tag正在开始,你可以尝试:

your_tag.startswith('something_tag')

如果你不确定:

res = 'something_tag' in your_tag

答案 1 :(得分:2)

索博列夫打赌我。对于更复杂的方案,请使用带有命名组和/或非捕获组的正则表达式。

这样整体字符串需要匹配特定格式,但您可以拉出您感兴趣的子部分。