我只是試圖將大寫的公司名稱轉換爲專有名稱。在Ruby on Rails中使用羅馬數字,破折號,撇號等標題化
公司名稱可以包含:
- 破折號
- 撇號
- 羅馬數字
- 文字像LLC,LP,INC應該留大寫。
我想我可能可以使用首字母縮寫詞是這樣的:
ACRONYMS = %W(LP III IV VI VII VIII IX GI)
ActiveSupport::Inflector.inflections(:en) do |inflect|
ACRONYMS.each { |a| inflect.acronym(a) }
end
但是,轉換不會考慮斷字,所以有VI
和VII
不起作用。例如,「ADVISORS」.titleize的轉換爲「Ad VI Sors」,因爲VI變成了一個完整的單詞。
虛線被刪除。
似乎應該有一個通用的寶石這個一般問題,但我沒有找到一個。這個問題真的不常見嗎?除了徹底破解當前的變形庫之外,最好的解決方案是什麼?
剛剛偶然發現,因爲我正在通過相同的問題。如前所述,將VI設置爲首字母縮寫確實會導致「ADVISORS」分裂,但只有當詞語全部大寫時,我才發現它。小寫「顧問」沒有得到相同的處理。既然你最終得到稱號,你可以在titleize之前調用downcase,並按照你的期望獲得「Advisors」,而VI本身仍然會按照你的期望結束所有上限。 – Yardboy