首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如果字符串以该字符开头,是否删除该字符?

如果字符串以该字符开头,是否删除该字符?
EN

Stack Overflow用户
提问于 2008-12-16 02:32:18
回答 6查看 28.5K关注 0票数 31

如果字符串以"1“开头,我如何从该字符串中删除第一个"1"?

代码语言:javascript
复制
"1hello world" => "hello world"
"112345" => "12345"

我在考虑做什么

代码语言:javascript
复制
string.sub!('1', '') if string =~ /^1/

但我在想有没有更好的方法。谢谢!

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-12-16 02:41:01

为什么不在sub!方法中包含正则表达式呢?

代码语言:javascript
复制
string.sub!(/^1/, '')
票数 45
EN

Stack Overflow用户

发布于 2017-10-27 21:36:42

从Ruby2.5开始,你可以使用delete_prefix或delete_prefix!以一种可读的方式实现这一点。

在本例中为"1hello world".delete_prefix("1")

更多信息请点击此处:

https://blog.jetbrains.com/ruby/2017/10/10-new-features-in-ruby-2-5/

https://bugs.ruby-lang.org/issues/12694

代码语言:javascript
复制
'invisible'.delete_prefix('in') #=> "visible"
'pink'.delete_prefix('in') #=> "pink"

注意:你也可以用delete_suffix和delete_suffix来删除字符串末尾的项目。

代码语言:javascript
复制
'worked'.delete_suffix('ed') #=> "work"
'medical'.delete_suffix('ed') #=> "medical"

https://bugs.ruby-lang.org/issues/13665

我在这里更详细地回答了(使用基准测试):What is the easiest way to remove the first character from a string?

票数 24
EN

Stack Overflow用户

发布于 2008-12-16 02:42:08

如果您打算使用正则表达式进行匹配,那么您也可以将其用于替换

代码语言:javascript
复制
string.sub!(%r{^1},"")

顺便说一句,%r{}只是正则表达式的替代语法。您可以使用%r后跟任何字符,例如%r!^1!

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/370322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档