gpt4 book ai didi

ruby - 如果它是标点符号,我怎么能从字符串中删除最后一个字符,在 ruby​​ 中?

转载 作者:数据小太阳 更新时间:2023-10-29 07:12:24 25 4
gpt4 key购买 nike

啊,正则表达式有点困惑。

我正在尝试删除字符串末尾所有可能的标点符号:

if str[str.length-1] == '?' || str[str.length-1] == '.' || str[str.length-1] == '!' or str[str.length-1] == ',' || str[str.length-1] == ';' 
str.chomp!
end

我相信有更好的方法来做到这一点。有什么指点吗?

最佳答案

str.sub!(/[?.!,;]?$/, '')
  • [?.!,;] - 字符类。匹配这 5 个字符中的任何一个(注意, 在字符类中并不特殊)
  • ? - 前一个字符或组是可选的
  • $ - 字符串结尾。

这基本上用空字符串替换了字符串末尾的可选标点符号。如果那里的字符没有标点符号,则为空操作。

关于ruby - 如果它是标点符号,我怎么能从字符串中删除最后一个字符,在 ruby​​ 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5541317/

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