Ruby 将方括号添加到字符串的第一个字符

Ruby 将方括号添加到字符串的第一个字符,ruby,string,Ruby,String,我需要把第一个字符放在方括号内。例如,我想将“abc”转换为“[a]bc”。如何使用正则表达式在ruby中实现这一点?使用正则表达式: "abc".sub(/(.)/, '[\1]') 没有正则表达式: s = "abc" s[0] = "[#{s[0]}]" 使用正则表达式: "abc".sub(/(.)/, '[\1]') 没有正则表达式: s = "abc" s[0] = "[#{s[0]}]" 试试这个: s = "abc" p "abc".insert(1, ']').prep

我需要把第一个字符放在方括号内。例如,我想将
“abc”
转换为
“[a]bc”
。如何使用正则表达式在ruby中实现这一点?

使用正则表达式:

"abc".sub(/(.)/, '[\1]')
没有正则表达式:

s = "abc"
s[0] = "[#{s[0]}]"
使用正则表达式:

"abc".sub(/(.)/, '[\1]')
没有正则表达式:

s = "abc"
s[0] = "[#{s[0]}]"
试试这个:

s = "abc"
p "abc".insert(1, ']').prepend('[') #=> "[a]bc"  
试试这个:

s = "abc"
p "abc".insert(1, ']').prepend('[') #=> "[a]bc"  

我不认为在这里使用正则表达式是一种解决方案,您没有尝试匹配任何内容。有没有其他方法可以做到这一点?我不认为在这里使用正则表达式是一种解决方案,您没有尝试匹配任何内容。有没有其他方法可以做到这一点?第二个的返回值不是替换的字符串。您需要调用
s
查看替换的字符串。是的,我这样做了。不过我还是会查一查,你用的是Ruby 1.8吗?如果是,则将
s[0]
替换为
s[0,1]
。是。现在我在Ruby 1.8上运行,你应该认真考虑升级红宝石。1.8.7为五岁,1.8为十岁。“2013年6月后,我们将不再在所有意义上支持1.8.7”。以下内容适用于Ruby的1.9+版本。如果只是每秒一次,那么我想不出一个不可行的解决方案。一个天真的
s=“[”+s[0]+“]”+s[1..-1]
就可以了。将
+
更改为
第二个的返回值不是替换的字符串。您需要调用
s
查看替换的字符串。是的,我这样做了。不过我还是会查一查,你用的是Ruby 1.8吗?如果是,则将
s[0]
替换为
s[0,1]
。是。现在我在Ruby 1.8上运行,你应该认真考虑升级红宝石。1.8.7为五岁,1.8为十岁。“2013年6月后,我们将不再在所有意义上支持1.8.7”。以下内容适用于Ruby的1.9+版本。如果只是每秒一次,那么我想不出一个不可行的解决方案。一个天真的
s=“[”+s[0]+“]”+s[1..-1]
就可以了。将
+
更改为