【问题标题】:Removing extended ASCII characters. Linux script (128-255)删除扩展的 ASCII 字符。 Linux 脚本 (128-255)
【发布时间】:2015-01-18 13:09:49
【问题描述】:

我想在我的文本中删除任何类型的 ASCII 字符,其代码在区间 [128-255] 中。 gsub(/[^a-z]/, "", $0) --这就是我删除除字母之外的所有内容的方法; gsub(/ē|é|ě|è|ū|ú|ǔ|ù|ǖ|ǘ|ǚ|ǜ|ü|ō|ó|ǒ|ò|ī|í|ǐ|ì|ā|á|ǎ |à|å|ä|â/, "", $0) -- 这是我删除一些扩展字符的方法,但不是所有字符。 gsub(/"[\128-\255]"/, "", $0) 我正在尝试这个,但它显示了一个错误,无效的间隔。那么,任何人都可以帮助解决这个问题。先谢谢了。

【问题讨论】:

    标签: linux extended-ascii


    【解决方案1】:

    反斜杠代码必须为八进制,或以 x 为前缀并为十六进制。

    \200-\377
    \x80-\xff
    

    或者你可以使用strings

    【讨论】:

    • 它实际上没有用,但我只是使用了暴力方法,我复制了所有可能的小写扩展ASCII字符并将其删除。 :D 无论如何,谢谢,您的解决方案似乎还不错,但我不知道为什么它不起作用。 :(
    【解决方案2】:

    \nnn 语法是八进制(n0-7),所以:

    \128 = invalid octal
    \200 = 128
    \255 = 173
    \377 = 255
    

    所以你想要:

    \200-\377
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-19
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      • 2021-07-23
      • 1970-01-01
      相关资源
      最近更新 更多