regex - 如何在 tcl 中检查和替换非 UTF-8 字符?

标签 regex tcl utf

在 tcl 中搜索给定字符串是否包含非 UTF-8 字符的最佳方法是什么? regexp'ing "^[\x00-\x7f]+$" 是前进的唯一途径吗?

我正在尝试编写一个 tcl 过程来检查给定变量是否包含非 UTF-8 字符以及是否将其替换为“不支持”

最佳答案

所有 Tcl 字符都是 Unicode 字符。

好吧,这没有帮助。您实际上似乎是在询问非 ASCII 字符。假设您想用 ? 替换每个非 ASCII 字符,您可以使用正则表达式替换,如下所示:

regsub -all {[\u0080-\uffff]} $inputString "?" outputString

这里的关键是 RE 位于大括号中(实际上总是强烈推荐)并且我们使用 \uXXXX 转义序列(RE 引擎也能理解)。这可能会导致很多 ? 的出现,但我相信您可以调整。

关于regex - 如何在 tcl 中检查和替换非 UTF-8 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22327468/

相关文章:

regex - 如何使用带有 end_with 的正则表达式? Ruby 中的方法?

unicode - 需要通过 UTF 等对 Unicode 字符进行编码吗?为什么我们不能简单地将它们存储为代码点的二进制?

php - 如何在 PHP 中验证 utf 序列?

tcl - 获取TCL中open创建的进程返回码

php - 无法将 PHP 和 MySQL 中的阿拉伯字母添加到我的数据库的一个表中

regex - 如何匹配多行文本?

javascript - JavaScript 中的函数 '.test'。测试变量

python - 收到 B 的正则表达式名称

php - Web开发中的实现问题

javascript - 我应该将 ns_return/ns_respond 添加到我的代码中吗?