2015-10-14 64 views
0

我想從句子中找到單詞的第一個字符,並且我想用其他字符替換它。查找單詞中的第一個字符並將其替換爲

例如 '9322731525,9820231525,23856141,9321154466'

在第一個位置查找字符2和替換它,因此輸出看起來像

例如「9322731525,9820231525,, 9321154466'

我試過使用substr但它沒有工作。

+0

例如,請添加預期的結果。 –

+0

請詳細說明.. –

+0

你有什麼'substr'試過?通常它應該可以工作 – nameless

回答

1

不是世界上最好的正則表達式,但我認爲它是做你所需要的

$s='9322731525, 9820231525, 23856141, 9321154466'; 
$pttn='@\[email protected]'; 
echo preg_replace($pttn, ' 9', $s); 

outputs 
------- 
9322731525, 9820231525, 9856141, 9321154466 
+0

代碼有效,謝謝 – nikalldway

0

你可以嘗試像

substr_replace("2","9",0,1); 

here一看就看,這個功能是如何工作的。

+0

它沒有奏效。我有一個句子,例如'9322731525,9820231525,23856141,9321154466',我必須找到哪個單詞有起始字母2.如果它有起始字母2,那麼我想要替換整個單詞或第一個字符 – nikalldway

+0

好吧,我得到了它比你可以用逗號分隔你的文本(使用'split'-function),然後用'substr_replace'函數檢查數組中的每個元素,並且在你再次構建你的句子之後再次構建 – nameless

+0

我有很多數據和那些在開始或結束時沒有逗號或逗號之間有空格的詞。在那裏,我必須通過單詞搜索。 – nikalldway

0

使用本:

echo preg_replace('/2/', '9', $yourstring); 
+0

他不想刪除字符串中的每2個,只是第一個。 – nameless

+0

是的,這將取代所有由2組成的單詞。我只想用首字母2替換該單詞的第一個字符 – nikalldway

3

你需要這樣做:'/ 2/'用空間和,

更換的第一個字母:

$string = '9322731525 , 9820231525, 23856141 , 9321154466'; 
$string = str_replace(',', ', ',$string); 
$string = preg_replace('/ 2/', ' 9', $string); 
output : 9322731525 , 9820231525, 93856141 , 9321154466 

更換整個字:

$string = '9322731525 , 9820231525, 23856141 , 9321154466'; 
$string = str_replace(',', ', ',$string); 
$string = preg_replace('/ (2[0-9]*)/', ' yourNewWord ', $string); 
output : 9322731525 , 9820231525, yourNewWord , 9321154466 
+0

我試過了,但是它將替換所有其他具有第二個單詞的單詞。我只想用首字母2替換該單詞的第一個字符。 – nikalldway

+0

@nikalldway看到這裏工作:http://www.phpliveregex。com/p/ddR 只有起始2被替換 – Kanti

+0

您應該看到第1行@nikalldway –

相關問題