gpt4 book ai didi

ruby - 使用 ruby​​ 在正则表达式中选择一个字符串

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

我必须清理传入参数的字符串,并删除所有小写字母和所有特殊字符,除了:

  • +
  • |
  • ^
  • 空间
  • =>
  • <=>

所以我在参数中传递了这个字符串:

aA azee + B => C=

我需要清理这个字符串才能得到这个结果:

A + B => C

我愿意

string.gsub(/[^[:upper:][+|^ ]]/, "")

输出:"A + B C"

我不知道如何选择 => (对于 <=> )字符串在 ruby 中带有正则表达式)

我知道如果我将 string.gsub(/[^[:upper:][+|^ => ]]/, "") 添加到我的正则表达式中,最后一个 =在我的字符串中传入的参数也会被选中

最佳答案

您可以尝试另一种方法:匹配您想要保留的所有内容,然后合并结果。

您可以使用此正则表达式来匹配您想要保留的所有内容:

[A-Z\d+| ^]|<?=>

如您所见,这只是使用 |[] 创建您要保留的字符串列表:大写字母、数字、+、|、空格、^、=> 和 <=>。

例子:

"aA azee + B => C=".scan(/[A-Z\d+| ^]|<?=>/).join()

输出:

"A  + B => C"

请注意,“A”和“+”之间有 2 个连续空格。如果您不想这样,可以调用 String#squeeze .

关于ruby - 使用 ruby​​ 在正则表达式中选择一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49736737/

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