2013-08-28 230 views
0

我試圖用「空間」替換第一個「:」,但我不知道如何去做! 也許你們可以幫助我。PHP/Python將第一個字符串替換爲另一個字符串

在文本:

ab:cd:ef:gh:ij:kl:mn 
12:ab:c2:f3 303:mx: 
dk:ad:Y4:D3 
12:31:44:aC:210 sda: 

輸出將是:

ab cd:ef:gh:ij:kl:mn 
12 ab:c2:f3 303:mx: 
dk ad:Y4:D3 
12 31:44:aC:210 sda: 

也許你能幫助我。

在此先感謝

+1

你嘗試過什麼?這些行是在某個文件中,還是作爲字符串的一部分?或者他們都是不同的字符串? –

+0

你在PHP中看過'str_replace()'的文檔嗎?它擁有你需要的一切。 – Barmar

回答

1

可以在PHP中使用:

$result = preg_replace('~^[^:]*\K:~m', ' ', $text); 

其中:

[^:]意味着除了:

\K所有字符之前重置所有比賽。

m立場多行模式(開始時錨^裝置開始行而不是串的默認開始的)

1

在Python中,

a = 'ab:cd:ef:gh:ij:kl:mn' 
a = a.replace(':', ' ', 1) 

收率

ab cd:ef:gh:ij:kl:mn 
0

像這樣的東西應該在PHP中的工作:

$output = preg_replace("/(^.*?):/m", "$1 ", $input); 

將在有空間的每個線更換一次:

例如:

$input = "ab:cd:ef:gh:ij:kl:mn 
12:ab:c2:f3 303:mx: 
dk:ad:Y4:D3 
12:31:44:aC:210 sda:"; 
print "<pre>$input</pre>"; 
print "--------------------"; 

$output = preg_replace("/(^.*?):/m", "$1 ", $input); 

print "<pre>$output</pre>"; 

將輸出

ab:cd:ef:gh:ij:kl:mn 
12:ab:c2:f3 303:mx: 
dk:ad:Y4:D3 
12:31:44:aC:210 sda: 
-------------------- 
ab cd:ef:gh:ij:kl:mn 
12 ab:c2:f3 303:mx: 
dk ad:Y4:D3 
12 31:44:aC:210 sda: 
相關問題