2010-06-27 101 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