在 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/