我希望匹配并用正则表达式替换字符串(电话号码)中的某些字符。
例如:
(525) 525 52 25
替换为:
525 525 5225
替换字符:
()“”//< - 没有“字符,最后的空格在52 25
之间
我该怎么办?
我试过了:
/[\(\)\s]/g
匹配()和所有空格字符。
答案 0 :(得分:2)
您可以尝试使用以下代码删除(
或)
符号以及最后两位数之前的空格,
<?php
$mystring = "(525) 525 52 25";
echo preg_replace('~[()]| (?=\d{2}$)~', '', $mystring);
?>
输出:
525 525 5225
或强>
<?php
$mystring = "(525) 525 52 25";
echo preg_replace('~[()]| (?=\S*$)~', '', $mystring);
?>
<强>解释强>
[()]
匹配(
或)
符号。|
逻辑OR运算符通常用于组合两个正则表达式。<space>(?=\S*$)
匹配空格(即最后一个空格),后跟零个或多个非空格字符和行尾。答案 1 :(得分:0)
尝试:
echo preg_replace('/[()]|\s(?=\S+$)/', '', '(525) 525 52 25');