我的文字如下:
\Insights\Measures - Trending\01) POS\TARG Sales $\TARG Circular Sales $\TARG Circular Sales $
我想从最后一个'\'
字符中提取出来。
\Insights\Measures - Trending\01) POS\TARG Sales $\TARG Circular Sales $
答案 0 :(得分:2)
您不需要正则表达式,只需要str.rindex
:
text = text[:text.rindex('\\')]
如果您确实想使用正则表达式,则可以使用re.sub
,使用$
来匹配字符串的结尾,并使用[^\\]
来匹配所有非\
的东西。 :
import re
text = re.sub(r'\\[^\\]*$', '', text)
还有其他N种匹配同一事物的方法,但是我认为在这种情况下,这太过分了。
答案 1 :(得分:1)
>>> s = '\Insights\Measures - Trending\01) POS\TARG Sales $\TARG Circular Sales $\TARG Circular Sales $'
>>> print (s.rsplit('\\', 1)[0])
\Insights\Measures - Trending) POS\TARG Sales $\TARG Circular Sales $
答案 2 :(得分:0)
使用正则表达式的解决方案是
new_text = re.search(r'(.*)\\', text).group(1)
但是我同意您的示例中不需要使用正则表达式
答案 3 :(得分:0)
string.split
将在这里工作
a ="\Insights\Measures - Trending\01) POS\TARG Sales $\TARG Circular Sales $\TARG Circular Sales $"
print (a.split("\\")[-1])
答案 4 :(得分:0)
您不需要正则表达式。字符串方法很容易做到:
>>> s='Insights\\Measures - Trending\\01) POS\\TARG Sales $\\TARG Circular Sales $\\TARG Circular Sales $'
>>> s
'Insights\\Measures - Trending\\01) POS\\TARG Sales $\\TARG Circular Sales $\\TARG Circular Sales $'
>>> s[:s.rindex('\\')]
'Insights\\Measures - Trending\\01) POS\\TARG Sales $\\TARG Circular Sales $'
>>>
另一种简单的方法是:
>>> s.rpartition('\\')[0]
'Insights\\Measures - Trending\\01) POS\\TARG Sales $\\TARG Circular Sales $'
>>>