【发布时间】:2013-04-17 18:11:50
【问题描述】:
我需要将第一个字符放在方括号内。例如,我想将"abc" 转换为"[a]bc"。如何使用正则表达式在 ruby 中执行此操作?
【问题讨论】:
-
我不认为在这里使用正则表达式是一个解决方案,你没有试图匹配任何东西。
-
还有其他方法吗?
我需要将第一个字符放在方括号内。例如,我想将"abc" 转换为"[a]bc"。如何使用正则表达式在 ruby 中执行此操作?
【问题讨论】:
使用正则表达式:
"abc".sub(/(.)/, '[\1]')
没有正则表达式:
s = "abc"
s[0] = "[#{s[0]}]"
【讨论】:
s 才能看到替换后的字符串。
s[0] 替换为s[0, 1]。
s = "[" + s[0] + "]" + s[1..-1] 会做。将+ 更改为<< 甚至可能使其表现良好。
试试这个:
s = "abc"
p "abc".insert(1, ']').prepend('[') #=> "[a]bc"
【讨论】: