我有蟒蛇如下字符串:正則表達式在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