在字符串中的两个给定符号之间获取文本

时间:2012-12-14 12:29:57

标签: ruby

考虑以下字符串

str = "hellow >world<"

我是否可以删除在><之间发生的文字 使用任何内置功能?或者我是否必须编写自定义函数来实现此目的?

4 个答案:

答案 0 :(得分:4)

鉴于您的基本示例,以下内容将返回"world"

str.match(/>(.+)</)[1]

答案 1 :(得分:1)

您可以使用匹配方法和正则表达式,例如

str.match(/\>(\w+)\</)[1]

答案 2 :(得分:1)

你可以用拆分来做到这一点:

str.split(/[<>]/)[1]

答案 3 :(得分:1)

如果您只想保留符号之间的字词:

str.scan(/>(.*?)</).flatten

与此处的其他解决方案不同,它处理您要提取多个单词的情况。

如果你想剥离这些单词并保留其余部分:

str.gsub(/>.*?</,"")