79

我在 Sublime 文本中使用 HTML 编码特殊字符将所有特殊字符转换为它们的 HTML 代码。我在文件的不同部分有很多重音字符。所以,如果我可以选择所有特殊字符,然后使用插件一次转换,那就太好了!

是否有一个正则表达式可以帮助只选择所有特殊字符?

4

3 回答 3

194

是的。

Sublime 文本支持正则表达式,您可以选择所有非 ASCII(代码点 > 128)字符。这个正则表达式对你来说应该足够了:

[^\x00-\x7F]

只需搜索和替换。

但是,如果您首先进行手动 HTML 编码,那么您就做错了。将您的文件保存为 UTF-8 编码(默认为 Sublime Text 2),并确保您的 Web 服务器也以 UTF-8 格式发送这些文件。无需转换、编码或任何东西。

于 2012-12-21T18:15:00.070 回答
15

作为进一步参考(或作为补充):

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)字符”的自动突出显示。

请注意,这不会选择这些字符,只会突出显示它们以便轻松实现(如果有的话)。

于 2014-04-30T10:45:37.120 回答
7

另一个插件选项

我最近写了一个专门用于突出显示非 ascii 字符的插件: https ://github.com/TuureKaunisto/highlight-dodgy-chars

使用 Highlighter 可以实现完全相同的功能,但使用不太通用的 Highlight Dodgy Chars 插件,您无需编写正则表达式,您只需列出您不想在设置中突出显示的非 ascii 字符。欧洲特殊字符默认被列入白名单。

于 2015-12-19T21:49:14.520 回答