我有蟒蛇如下字符串:正则表达式在Python 2.4
"\\B1\\B1xxA1xxMdl1zzInoAEROzzMofIN"
我想要得到的字符串作为
"B1xxA1xxMdl1zzInoAEROzzMofIN"
,我认为这是可以做到使用正则表达式,但不能达到它然而。请给我一个主意。
我有蟒蛇如下字符串:正则表达式在Python 2.4
"\\B1\\B1xxA1xxMdl1zzInoAEROzzMofIN"
我想要得到的字符串作为
"B1xxA1xxMdl1zzInoAEROzzMofIN"
,我认为这是可以做到使用正则表达式,但不能达到它然而。请给我一个主意。
st = "\B1\B1xxA1xxMdl1zzInoAEROzzMofIN"
s = re.sub(r"\\","",st)
idx = s.rindex("B1")
print s[idx:]
输出= 'B1xxA1xxMdl1zzInoAEROzzMofIN'
OR
st = "\B1\B1xxA1xxMdl1zzInoAEROzzMofIN"
idx = st.rindex("\\")
print st[idx+1:]
输出= 'B1xxA1xxMdl1zzInoAEROzzMofIN'
这里是一个尝试:
import re
s = "\\B1\\B1xxA1xxMdl1zzInoAEROzzMofIN"
s = re.sub(r"\\[^\\]+\\","", s)
print s
测试在http://py-ide-online.appspot.com(不能找到一种方法,虽然共享)
[编辑]对于一些解释,看看在Python regex documentation page和这太问题的第一个注释:
How to remove symbols from a string with Python?
,因为使用括号[]
可以是棘手的(IMHO)
在这种情况下,装置[^\\]
任何但两个反斜杠\\
。
所以[^\\]+
意味着匹配任何不是两个反斜杠\\
一个或多个字符。
如果字符串中所需的部分总是在一个\
炭的RHS然后可以使用:
string = "\\B1\\B1xxA1xxMdl1zzInoAEROzzMofIN"
string.rpartition("\\")[2]
输出= 'B1xxA1xxMdl1zzInoAEROzzMofIN'
蟒4 ??????? – Mansuro 2012-01-06 07:54:36
Python 4 ??这里是Python 4吗? – 2012-01-06 07:55:18
对不起,我更新了这个问题。我的意思是Python 2.4。再次抱歉。 – gishara 2012-01-06 07:57:02