【问题标题】:How to check for and replace non UTF-8 characters in tcl?如何在 tcl 中检查和替换非 UTF-8 字符?
【发布时间】:2014-04-15 04:01:35
【问题描述】:

如果给定字符串在 tcl 中包含非 UTF-8 字符,那么搜索的最佳方法是什么? regexp'ing "^[\x00-\x7f]+$" 是唯一的出路吗?

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

【问题讨论】:

    标签: regex tcl utf


    【解决方案1】:

    所有 Tcl 的字符都是 Unicode 字符。

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

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

    这里的关键是 RE 在大括号中(实际上总是强烈推荐)并且我们使用 \uXXXX 转义序列(RE 引擎也明白)。这可能会增加很多?s,但我相信你可以调整。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 2014-09-22
      • 1970-01-01
      • 2012-08-12
      • 2011-01-04
      • 2013-01-21
      • 1970-01-01
      相关资源
      最近更新 更多