删除扩展的 ASCII 字符。 Linux 脚本 (128-255)
Posted
技术标签:
【中文标题】删除扩展的 ASCII 字符。 Linux 脚本 (128-255)【英文标题】:Removing extended ASCII characters. Linux script (128-255) 【发布时间】:2015-01-18 13:09:49 【问题描述】:我想在我的文本中删除任何类型的 ASCII 字符,其代码在区间 [128-255] 中。 gsub(/[^a-z]/, "", $0) --这就是我删除除字母之外的所有内容的方法; gsub(/ē|é|ě|è|ū|ú|ǔ|ù|ǖ|ǘ|ǚ|ǜ|ü|ō|ó|ǒ|ò|ī|í|ǐ|ì|ā|á|ǎ |à|å|ä|â/, "", $0) -- 这是我删除一些扩展字符的方法,但不是所有字符。 gsub(/"[\128-\255]"/, "", $0) 我正在尝试这个,但它显示了一个错误,无效的间隔。那么,任何人都可以帮助解决这个问题。先谢谢了。
【问题讨论】:
【参考方案1】:反斜杠代码必须为八进制,或以 x
为前缀并为十六进制。
\200-\377
\x80-\xff
或者你可以使用strings
。
【讨论】:
它实际上没有用,但我只是使用了暴力方法,我复制了所有可能的小写扩展ASCII字符并将其删除。 :D 无论如何,谢谢,您的解决方案似乎还不错,但我不知道为什么它不起作用。 :(【参考方案2】:\nnn
语法是八进制(n
是 0-7
),所以:
\128 = invalid octal
\200 = 128
\255 = 173
\377 = 255
所以你想要:
\200-\377
【讨论】:
以上是关于删除扩展的 ASCII 字符。 Linux 脚本 (128-255)的主要内容,如果未能解决你的问题,请参考以下文章
将扩展的 Ascii“表格”代码(例如 ─、┬)从 Php 脚本打印到控制台时出现问题