2010-06-27 102 views
0

将字串“YingYang”变成“Ying/Yang”的最简单方法是什么?字符串操作

+9

“鹰扬” .replace(“英/杨”):-) – 2010-06-27 16:06:43

+0

如果你问'最简单',就是这样。但不知道是否其使用与否 keruilin,你能详细说明你真的想在这里做... 欢呼 sameera – sameera207 2010-06-27 16:18:47

回答

1

假设你想在任何地方插入一个斜线,其中一个小写字母后跟一个大写字母:

"YingYang".gsub(/([a-z])([A-Z])/, '\1/\2') 
+4

我更喜欢使用命名的字符类,因为它们将与*所有*上/下工作字符,而像你一样明确地列出它们只适用于* a *和* z *之间的字符:'“YingYang”.gsub(/([[:lower:]])([[:upper:] ])/,'\ 1/\ 2')'。另外,它更有意向 - 揭示。 – 2010-06-27 19:31:51

+0

@JörgWMittag:至少在1.8.7(将$ KCODE设置为“u”)'“ÖÄÜ”=〜/ [:upper:] /'返回零,所以我认为这不会有什么区别。 – sepp2k 2010-06-27 19:35:46

+1

是的,但它*可以在Oniguruma上工作,即Ruby 1.9和Oniguruma扩展的1.8。它也适用于1.9和1.8版本的JRuby,因为它使用JOni(Oniguruma的逐行Java转换),即使在1.8模式下也是如此。它在MRI 1.8上不会受到伤害。另外,它使意图更清晰(IMO)。 – 2010-06-27 19:52:24