【问题标题】:How to use gsub regex in ruby如何在 ruby​​ 中使用 gsub 正则表达式
【发布时间】:2015-05-29 23:11:27
【问题描述】:

我想从使用 ruby​​ 正则表达式中删除部分字符串:

值 = localhost:8393/foobar/1 测试:foobartest 我想从我的字符串 [localhost:8393/foobar/1 test:foobartest] 和其余值中删除“test”,以便输出应该如下所示:

localhost:8393/foobar/1

如何在红宝石中做到这一点?你能分享一些示例代码来实现这一点吗?

提前感谢您的帮助! 谢谢!

【问题讨论】:

  • 首先,您需要在第二行和第四行添加引号以使其成为字符串。读者无法判断第一个字符串是以"value =..." 还是localhost..." 开头的。接下来,你选择部分字符串的标准是什么?例如,您是否要使用第一个空格字符之前的所有内容,或者直到一个或多个空格后跟"test""test:" 或其他内容的所有内容?请通过编辑您的问题来纠正和澄清,而不是试图在 cmets 中解释。
  • 感谢卡里的建议!只是我问如何删除关键字“test”和字符串的其余部分,所以我相信字符串应该从 value= 或 localhost 开始并不重要......

标签: ruby regex substring gsub


【解决方案1】:

我会这样做:

value = 'localhost:8393/foobar/1 test:foobartest'

value.split.first
#=> "localhost:8393/foobar/1"

或者如果你想使用正则表达式:

value.sub(/ test.*/, '')
"localhost:8393/foobar/1"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多