You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除字符串中的x与X字符?现有Ruby实现代码不生效是什么原因

代码存在的问题

  • 数组减法的目标元素配置错误:你将原字符串拆分为了单个字符组成的数组,但待排除的元素写的是["xX"],这是一个长度为2的字符串,你的单字符数组中不存在这个元素,所以减法操作不会移除任何内容,运行后返回的还是原字符串。
  • 实现思路效率偏低:拆分字符串为数组再做集合运算、最后拼接回字符串的方案,远不如直接用字符串内置的替换方法高效简洁。

修正后的实现方案

你可以直接用gsub做全局正则匹配替换所有x、X字符,写法更简单:

class String
  def xaway
    self.gsub(/[xX]/, '')
  end
end

如果要沿用你原本的数组处理思路,只需要把待排除的元素拆成两个独立的单字符即可:

class String
  def xaway
    s = self.split("")
    return (s - ["x", "X"]).join
  end
end

两种修正方案测试均符合预期:

  • "Xylophone".xaway 输出 ylophone
  • "Xbox".xaway 输出 bo

内容的提问来源于stack exchange,提问作者kyle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 07:27:01