如果我有这样的字符串
Newsflash: The Big(!) Brown Dog's Brother (T.J.) Ate The Small Blue Egg
我如何使用正则表达式将其转换为以下内容:
newsflash-the-big-brown-dogs-brother-tj-ate-the-small-blue-egg
换句话说,标点符号被丢弃,空格被连字符代替。
最佳答案
听起来您想创建一个“URL 插件”——例如,文章标题的 URL 友好版本。这意味着您需要确保删除所有可能的非 URL 友好字符,而不仅仅是几个。您可以这样做(按顺序):
通过以下方式删除所有非字母非数字非空格字符:
将正则表达式 [^A-Za-z0-9 ]
替换为空字符串 ""
。
用破折号替换所有空格:
将正则表达式 \s+
替换为字符串 "-"
。
通过以下方式将字符串小写:
Java s = s.toLowerCase();
JavaScript s = s.toLowerCase();
C# s = s.ToLowerCase();
Perl $s = lc($s);
Python s = s.lower()
PHP $s = strtolower($s);
ruby s = s.downcase
关于regex - 如何使用正则表达式取消标点符号、小写字母、取消空格和连字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4422843/