Php 从字符串中删除通配符
我不擅长正则表达式。 在我的地址中,我有以下通配符:Php 从字符串中删除通配符,php,regex,preg-replace,Php,Regex,Preg Replace,我不擅长正则表达式。 在我的地址中,我有以下通配符: !@$%^&*()_+./\;' “ 我想用preg_replace将上述地址中的通配符替换为nothing 如果我有这样的地址 纽约州XYZ路453号街道/城市 它应该被替换为 街道453路城市州 什么是合适的模式 谢谢使用: 注\必须写成\\\\,/必须写成\/ 请参阅。使用: 注\必须写成\\\\,/必须写成\/ 请参阅。您可能只是在寻找 \W+ 请参阅。 您在示例中也消除了XYZ,但这可能不是有意的。您可能只是在寻找 \W+ $t
!@$%^&*()_+./\;' “
我想用preg_replace将上述地址中的通配符替换为nothing
如果我有这样的地址
纽约州XYZ路453号街道/城市
它应该被替换为
街道453路城市州
什么是合适的模式
谢谢使用:
注\
必须写成\\\\
,/
必须写成\/
请参阅。使用:
注\
必须写成\\\\
,/
必须写成\/
请参阅。您可能只是在寻找
\W+
请参阅。您在示例中也消除了
XYZ
,但这可能不是有意的。您可能只是在寻找
\W+
$text = "Street # 453, XYZ - Road. / City, State.";
$text = preg_replace('[\W+]', '', $text);
echo($text);
请参阅。您在示例中也消除了
XYZ
,但这可能不是有意的
$text = "Street # 453, XYZ - Road. / City, State.";
$text = preg_replace('[\W+]', '', $text);
echo($text);
更新:
您可以简单地使用\W+(与[^a-zA-Z0-9]相同),如果不需要下划线,也可以使用[^a-zA-Z0-9]
“^”字符在正则表达式中表示“NOT”。因此,任何不是“^”后面的字符都将被替换
您可以使用此网站检查您的正则表达式模式:
更新:
您可以简单地使用\W+(与[^a-zA-Z0-9]相同),如果不需要下划线,也可以使用[^a-zA-Z0-9]
“^”字符在正则表达式中表示“NOT”。因此,任何不是“^”后面的字符都将被替换
您可以使用此网站检查您的正则表达式模式:
Research
字符类
,这是一项非常简单的正则表达式任务。(需要4个字符,包括preg\u replace
的分隔符)例如,请参见Research字符类
。这是一项非常简单的正则表达式任务。(需要4个字符,包括preg\u replace
的分隔符)例如,请参见或答案仍然错误,请记住,[\W+]
与\W+
仍然不同-尽管我的旧注释已被无故删除。您将想要的量词放在字符类中,这意味着正则表达式引擎查找的是“不是单词字符或加号”“这基本上是多余的。此步骤在每个字符上重复。另外,您复制了解决方案。答案仍然是错误的,请记住,[\W+]
仍然与\W+
不同-尽管我的旧注释已被无故删除。您将想要的量词放在character类中,这意味着regex引擎寻找“不是单词字符或加号”,这本质上是多余的。此步骤在每个字符上重复。而且你复制了解决方案。