我正在使用Sublime text中的HTML编码特殊字符来将所有特殊字符转换为它们的HTML代码。我的文件中有很多不同部分的重音符号字符。因此,如果我可以选择所有特殊字符,然后使用插件一次性转换所有字符,那就太好了!
是否有正则表达式可以帮助选择所有特殊字符?
我正在使用Sublime text中的HTML编码特殊字符来将所有特殊字符转换为它们的HTML代码。我的文件中有很多不同部分的重音符号字符。因此,如果我可以选择所有特殊字符,然后使用插件一次性转换所有字符,那就太好了!
是否有正则表达式可以帮助选择所有特殊字符?
可以。
Sublime Text支持正则表达式,您可以选择所有非ASCII(代码点 > 128)字符。这个正则表达式应该足够满足您的需求:
[^\x00-\x7F]
只需要搜索和替换。
但如果你在首次编写HTML时手动进行编码,那么你是错误的。请将你的文件保存为UTF-8编码(Sublime Text 2默认),并确保您的Web服务器也以UTF-8发送这些文件。不需要任何转换、编码或其他操作。
Sublime Text 2/3软件包名为Highlighter
,可以(如其名称所示)使用正则表达式突出显示某些字符...
"您还可以添加自定义正则表达式以突出显示字符。"
因此,使用此软件包加上@Mikko Ohtamaa
的答案,我们可以编辑文件...
highlighter.sublime-settings -
User
...并包含建议的正则表达式(在此表示为[^\\x00-\\x7F]
),最终得到像这样的结果:
{
"highlighter_regex": "(\t+ +)|( +\t+)|[^\\x00-\\x7F]|[\u2026\u2018\u2019\u201c\u201d\u2013\u2014]|[\t ]+$"
}
结果将会自动高亮显示文件中的任何"非ASCII(代码点>128)字符"。
请注意,这不会选择这些字符,只会将它们高亮显示,以便轻松地了解是否存在这些字符。
我最近编写了一个专门用于突出显示非ASCII字符的插件: https://github.com/TuureKaunisto/highlight-dodgy-chars
使用Highlighter插件也可以实现完全相同的功能,但使用不太通用的Highlight Dodgy Chars插件,您无需编写正则表达式,只需在设置中列出您不希望突出显示的非ASCII字符。欧洲特殊字符默认已列入白名单。