📅  最后修改于: 2023-12-03 14:49:23.584000             🧑  作者: Mango
在 Ruby 中,一个字符串可以包含任何 ASCII 字符,包括控制字符。如果你需要从一个字符串中删除 ASCII 字符,可以使用正则表达式来过滤它们。
下面给出几个例子:
str = "hello\u0000world"
str.gsub!(/[\x00-\x7F]/, '')
puts str # 输出 "helloworld"
正则表达式 /[\x00-\x7F]/
匹配了所有 ASCII 字符。gsub!
方法将这些字符替换为空字符串。最终输出了删除了所有 ASCII 字符的字符串。
str = "hello!@#$%^&*()123world"
str.gsub!(/[^a-zA-Z0-9]/, '')
puts str # 输出 "hello123world"
正则表达式 /[^a-zA-Z0-9]/
匹配了除数字和字母外的所有 ASCII 字符。gsub!
方法将这些字符替换为空字符串。最终输出了删除了除数字和字母外的所有 ASCII 字符的字符串。
str = "hello.world"
str.gsub!(/\./, '')
puts str # 输出 "helloworld"
正则表达式 /\./
匹配了点号(ASCII 码为 46)。gsub!
方法将点号替换为空字符串。最终输出了删除了点号的字符串。
以上是几个常见的例子。如果需要删除其他 ASCII 字符,只需要修改正则表达式即可。