-6

我有以下字符串:

a&b.c'd,e f

我长得怎么样

а_b_c_d_e_f

正则表达式模式看起来如何?

提前致谢 !

4

2 回答 2

7

它看起来很简单...

$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);

在此示例中,连字符'-'也不会被替换。

于 2012-09-26T12:34:04.890 回答
1

preg_replace.

$regex = "(.*)\W(.*)";
$content = "a&b.c'd,e f"
preg_replace($regex, "_", $content);
于 2012-09-26T12:36:40.267 回答