【问题标题】:How can I delete commas from a Ruby string?如何从 Ruby 字符串中删除逗号?
【发布时间】:2016-02-04 20:08:55
【问题描述】:

我有字符串"12,34,56,789,George Carter,4"。我希望输出看起来像:

12 34 56 789 George Carter 4

我当前的代码不适合我。我试过了:

str = "12,34,56,789,George Carter,4"
str.split(",")

【问题讨论】:

  • 请注意,在您的示例中,您并没有真正“删除”逗号。为此,您可以只使用 String#delete。相反,您将它们替换或翻译成其他字符。
  • 欢迎。这是一个非常基本的问题,您可以通过阅读教程、搜索 (meta.stackoverflow.com/q/261592/128421) 或阅读 the String documentation 自行解决。我们不想让您气馁,但编程涉及大量研究以学习新东西,因此您需要真正擅长这一点。

标签: ruby string substitution


【解决方案1】:

使用字符串的字符翻译方法

使用String#tr(字符串翻译方法)翻译Ruby 字符串中的一个或多个字符。例如:

str = "12,34,56,789,George Carter,4".tr(',', ' ')
#=> "12 34 56 789 George Carter 4"

当然还有其他方法可以做到这一点,但这种方法适用于您给定的示例,并且可能比其他技术在语义上更清楚您的意图。此外,当您想要翻译字符集而不是替换子字符串时,String#tr 通常是正确的选择。

【讨论】:

    【解决方案2】:
    str.gsub(',', ' ')
    # => "12 34 56 789 George Carter 4"
    

    将 str 中的逗号替换为空格。 .split 用于将字符串拆分为数组。你可以这样使用它:

    str.split(','),join(' ')
    # => "12 34 56 789 George Carter 4"
    

    但它更复杂,更慢。

    【讨论】:

      【解决方案3】:

      你已经用逗号分割了字符串,现在用空格连接。

      str.split(",").join(' ')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-10
        • 1970-01-01
        • 2023-04-11
        • 2011-05-27
        • 1970-01-01
        • 2011-04-24
        • 2012-03-09
        • 1970-01-01
        相关资源
        最近更新 更多