2015-10-14 67 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 –

相关问题