加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如果它与Ruby中的模式匹配,如何从字符串中删除前4个字符

发布时间:2020-12-17 02:51:05 所属栏目:百科 来源:网络整理
导读:我有以下字符串: "h3. My Title Goes Here" 我基本上想从字符串中删除前四个字符,以便我回来: "My Title Goes Here". 问题是我正在迭代一个字符串数组而不是都有h3.在前面,所以我不能盲目地抛弃前四个字. 我检查了文档,我能找到的最接近的东西是chomp,但这
我有以下字符串:

"h3. My Title Goes Here"

我基本上想从字符串中删除前四个字符,以便我回来:

"My Title Goes Here".

问题是我正在迭代一个字符串数组而不是都有h3.在前面,所以我不能盲目地抛弃前四个字.

我检查了文档,我能找到的最接近的东西是chomp,但这只适用于字符串的结尾.

现在我这样做:

"h3. My Title Goes Here".reverse.chomp(" .3h").reverse

这给了我想要的输出,但必须有更好的方法.我不想无缘无故地反转一个字符串两次.还有其他方法可行吗?

解决方法

要更改原始字符串,请使用sub!,例如:

my_strings = [ "h3. My Title Goes Here","No h3. at the start of this line" ]
my_strings.each { |s| s.sub!(/^h3. /,'') }

若要不更改原始内容并仅返回结果,请删除感叹号,即使用sub.在一般情况下,您可以使用正则表达式来匹配多个实例,在这种情况下使用gsub!和gsub – 没有g只有第一个匹配被替换(如你所愿,在任何情况下,^只能匹配一次到字符串的开头).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读