2014-03-25 44 views
1

我有這種類型的字符串如何區分captitalize和non captialize單詞?

str = "\n\t\t\t\t\t\t\t\tRemovable neck strapBelt loop\n        \n        \n        \n\t\t\t\t\t\t\" 

要轉換成

Removable neck strap Belt loop 

通知如何strapBelt分離。

到目前爲止,我已經做到了這一點

str.gsub(/\n|\t/,'').strip 

這給了我

Removable neck strapBelt loop 

,但未能strapBelt之間的分裂。

回答

2
str.gsub(/([a-z])([A-Z])/, '\1 \2').strip 
2

使用這一個:

str = str.gsub(/(?<=[a-z])([A-Z])/, ' \\1') 

這檢查任何大寫字母[A-Z]是否恰好是一個較小的信[a-z]與否後(使用正回顧後(?<=[a-z]))。如果是,則將其替換爲空格和大寫字(在捕獲組中爲\\1)本身。