2016-12-01 81 views
0

我有這個正則表達式來更改由空格分隔的列表以逗號分隔的列表,但我需要它只匹配如果行以xyz開頭,就像這樣:正則表達式更改空間分隔項到逗號分隔項

xyz a bcd ef --> xyz a,bcd,ef 

,但不應該更改訂單的任何事情,不以xyz開始,像這樣:

xy abc def #Nothing changes 

xyz .*(\w+)是不行的,因爲它僅匹配xyz a bcd並且不分開abcd

+0

你是什麼意思「列表項不‘共享’XYZ」是什麼意思? – infotoni91

+0

這是措辭不佳,對不起。它只匹配xyz一個壞的,並且不會做我想要的最壞的。 – nedla2004

+0

你能否給我們一些你想做什麼的例子?這並不完全清楚。 – Zafi

回答

2

什麼是這樣的:

if re.match(r'xyz', text): 
    line = text.partition('xyz ') 
    text = line[1] + line[2].replace(' ', ',') 
+1

在這種情況下'^ xyz'會更適合我。 –

+1

自動匹配從字符串開頭自動搜索 – Navidad20

+1

檢查字符串是否以字面值開頭的最佳方法是使用['str.startswith'](https://docs.python.org/2/library/stdtypes。 HTML#str.startswith)。 –

相關問題