Notepad++正则表达式实现URL安全合规文本处理的需求咨询
Notepad++正则表达式实现URL安全合规文本处理的需求咨询
嘿,这个需求我熟!用Notepad++的正则替换功能分几步就能完美实现,咱们一步步来操作,保证结果跟你要的一模一样:
第一步:替换欧洲特殊变音字符为普通字符
首先处理那些带重音的欧洲字符,把它们转换成对应的基础字母:
- 按下
Ctrl+H打开替换窗口,切换到正则表达式模式(不要勾选「.匹配换行」) - 依次执行以下替换(每替换完一组就点「全部替换」):
- 查找:
[äáåâàãÄÁÅÂÀÃ],替换为:a - 查找:
[öôòÖÔÒ],替换为:o - 查找:
[éèêëÉÈÊË],替换为:e - 查找:
[úùüûÚÙÜÛ],替换为:u - 如果你还有其他变音字符,比如
ç转c、ñ转n,可以依葫芦画瓢扩展正则里的字符集
- 查找:
第二步:把指定符号统一替换为横杠
接下来把空格、Tab、逗号、点、斜杠等符号换成-:
- 查找:
[ \t,.\\/_],替换为:- - 这里要注意反斜杠需要转义,所以写了两个
\\,这样Notepad++才能正确识别
第三步:移除所有剩余的特殊符号
把那些单引号、双引号、问号、货币符号之类的非法字符全部删掉:
- 查找:
[^a-zA-Z0-9-],替换为:(空内容,什么都不填) - 这个正则的意思是:匹配所有不是字母、数字和横杠的字符,然后替换成空
第四步:统一转换为小写(可选)
最后把所有文本转成小写,两种方式都可以:
- 用菜单操作:点击「编辑」→「转换大小写」→「转换为小写」
- 用正则替换:查找
([a-zA-Z]),替换为\L$1,记得勾选「正则表达式」模式
效果演示
拿你给的例子测试:
Joey's "Special" Name of the Beverage ProductNA5434
Öetkär's Burgér/Pizza Food123
经过上面四步处理后,就会变成:joeys-special-name-of-the-beverage-productna5434oetkars-burger-pizza-food123
要是你有更多特殊字符需要处理,随时扩展第一步的正则字符集就行,灵活得很!
备注:内容来源于stack exchange,提问作者Nolf
相关产品推荐
相关产品推荐

