gpt4 book ai didi

Ruby 正则表达式从字符串中删除 ^C 字符

转载 作者:太空宇宙 更新时间:2023-11-03 17:02:34 25 4
gpt4 key购买 nike

有一个文件,其中控制 B 和控制 C 命令分隔文本字段。看起来像:

"TEST\003KEY\002TEST\003KEY"

我试图创建一个正则表达式来匹配它并将其删除。我不确定为什么这个正则表达式不起作用:

"TEST\003KEY\002TEST\003KEY".gsub(/\00[23]/, ',')

最佳答案

尝试以下操作:

"TEST\003KEY\002TEST\003KEY".gsub(/\002|\003/, ',')

这里是在我机器上的irb中演示的:

$ irb
1.9.3p448 :007 > "TEST\003KEY\002TEST\003KEY".gsub(/\002|\003/, ',')
=> "TEST,KEY,TEST,KEY"

语法\002|\003表示“匹配字 rune 字\002或字 rune 字\003”。原始问题中给出的表达式 \00[23] 无效:这是字 rune 字 \00(空字符)后跟字符类 [23]:即匹配双字符序列。

您还可以使用[[:cntrl:]] 字符类来匹配所有控制字符:

$ irb
1.9.3p448 :007 > "TEST\003KEY\002TEST\003KEY\005TEST".gsub(/[[:cntrl:]]/, ',')
=> "TEST,KEY,TEST,KEY,TEST"

关于Ruby 正则表达式从字符串中删除 ^C 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18218113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com