Php 正则表达式在每个单词周围加引号
假设我有一根这样的线Php 正则表达式在每个单词周围加引号,php,regex,Php,Regex,假设我有一根这样的线 $str = "this is my string"; 我需要一个正则表达式,以便 $str = "'this','is','my','string'"; 我知道有了这个 preg_match_all("#\w+#",$str,$mth); 我可以得到一个包含单个单词的数组,但我无法达到我的目标。 提前感谢。您可以使用explode代替: $parts = explode(" ", $str); 因此“$parts”将是[“this”、“is”、“my”、“stri
$str = "this is my string";
我需要一个正则表达式,以便
$str = "'this','is','my','string'";
我知道有了这个
preg_match_all("#\w+#",$str,$mth);
我可以得到一个包含单个单词的数组,但我无法达到我的目标。
提前感谢。您可以使用
explode
代替:
$parts = explode(" ", $str);
因此“$parts”将是[“this”、“is”、“my”、“string]的数组。然后您可以运行该数组并在每个单词周围添加引号,最后执行以下操作:
$final = implode(",", $parts);
如果您有单词数组,它只是一个简单的concat:
$quoted = '';
foreach($words as $word) {
$quoted .= " '".$word."' ";
}
不需要正则表达式。您可以使用
join
/内爆来生成最终字符串
$str = "'". join("','", $mth). "'";
或者您可以直接使用一个preg\u replace
:
$str = "'". preg_replace("#\w+#", "','", $str). "'";
您必须使用正则表达式吗?您可以使用将所有空格更改为序列
,”
,然后在开头和结尾附加单引号:
$str = "'" . str_replace(" ", "','", $str) . "'";
def str=“弗雷德、萨姆、迈克、萨拉”
str.replaceAll(~“(\\\b)”,“'”)
这在Groovy中运行良好Plain explode将在其他类型的空格或多空格上失败。谢谢迈克。我选择了你的答案,并给所有其他用户一个+1。谢谢大家。谢谢你。别忘了打勾,正式地将其标记为已回答。我的错。我想我在这方面跳了枪。我只是对人们说“谢谢你的帮助”感到恼火,然后永远消失在以太中。很高兴看到你不是他们中的一员:没有问题。如果你看一下我的个人资料,你会发现当我收到答复时,我总是接受祝你有愉快的一天仍然
内爆
,但是使用$words=preg_split('/\W+/',$str,null,preg_split_NO_EMPTY)
然后您可以检查是否有任何单词,并且当有双空格时,列表中没有空字符串'
$str = "'" . str_replace(" ", "','", $str) . "'";
def str = "Fred,Sam,Mike,Sarah"<br/>
str.replaceAll(~"(\\\b)", "'")