简体   繁体   English

用gsub将红宝石字符串替换为多个字符串的条件

[英]Replace ruby string with gsub with conditions for multiple strings

I have as string as "pas" and "with_pas". 我有“ pas”和“ with_pas”这样的字符串。 I want to replace it with blank string. 我想将其替换为空白字符串。 Now I am doing as follows 现在我做如下

string.gsub("pas","").gsub("with_pas","") 

In some scenario i get the string as "pas" and in some other with "with_pas". 在某些情况下,我将字符串获取为“ pas”,而在其他情况下,则将其获取为“ with_pas”。

Is there a better way to do this? 有一个更好的方法吗?

您可以使用当前的方法,但是需要更改顺序,否则将无法按预期工作:

string.gsub("with_pas","").gsub("pas","")

那使用正则表达式呢?

string.gsub(/(with_)?pas/, "")
str.gsub(/pas|with_pas/, '').squeeze

这将删除单词,并且squeeze将删除gsub添加的额外空间。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM