我有以下字符串:
a&b.c'd,e f
我长得怎么样
а_b_c_d_e_f
正则表达式模式看起来如何?
提前致谢 !
它看起来很简单...
$str = "a&b.c'd,e f";
$str = preg_replace('#\W#', '_', $str);
...但它实际上应该取决于您认为特殊的字符,因为\W
它等同于[^a-zA-Z0-9_]
(即,任何不是字母数字或'_'的字符)。在您的情况下,这可能足够,也可能不够;如果没有,也许你会在这里使用一个字符类:
$str = "a&b.c'd,e f";
$str = preg_replace('#[^a-zA-Z0-9_-]#', '_', $str);
在此示例中,连字符'-'
也不会被替换。
$regex = "(.*)\W(.*)";
$content = "a&b.c'd,e f"
preg_replace($regex, "_", $content);