有一個很好的方法,parameterize
,但它使字符串小寫。那麼有沒有一種方法來參數化一個字符串,而不是小寫?如何在不使用小寫字母的情況下對字符串進行參數化設置
1
A
回答
3
這是parameterize
的來源。所以,你可以定義一個新的方法的最後一行parameterized_string.downcase
只是改變parameterized_string
# File activesupport/lib/active_support/inflector/transliterate.rb, line 80
def parameterize(string, sep = '-')
# replace accented chars with their ascii equivalents
parameterized_string = transliterate(string)
# Turn unwanted chars into the separator
parameterized_string.gsub!(/[^a-z0-9\-_]+/, sep)
unless sep.nil? || sep.empty?
re_sep = Regexp.escape(sep)
# No more than one of the separator in a row.
parameterized_string.gsub!(/#{re_sep}{2,}/, sep)
# Remove leading/trailing separator.
parameterized_string.gsub!(/^#{re_sep}|#{re_sep}$/, '')
end
parameterized_string.downcase
end
0
我不知道你要什麼,但parameterize
方法的目的是使串網址安全。 Capital letters are not safe to use in URLs.
但是,如果你堅持,你可以送花兒給人做:
"AsDF".parameterize.capitalize # => "Asdf"
4
在Rails 5,你可以添加preserve_case選項參數。
"Ærøskøbing Brugs".parameterize(preserve_case: true) => "AEroskobing-Brugs"
http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-parameterize
相關問題
- 1. 僅在第一個字母不是大寫的情況下才將字符串轉換爲小寫字母
- 2. Java如何在大寫字母串之前對小寫字母進行排序
- 3. 如何在字符串中編寫下標小寫字母
- 4. 如何在不使用strlen的情況下計算字符串的字符數
- 5. 如何在不使用哈希表的情況下對字符串中的字符進行重新排序?
- 6. 在C中使用大寫字母和小寫字母對字符串排序
- 7. Android:如何在我的字符串中設置小寫字母的子串?
- 8. 如何在給定參數的情況下剪切字符串
- 9. 在不破壞HTML的情況下使用Java對字符串進行子字符串排序
- 10. 大多數情況下使用php函數的字符串中的字母
- 11. 如何在縮寫字母大寫的情況下更改大寫字母的大小寫?
- 12. 如何在不使用區域設置的情況下對unicode字符進行排序?
- 13. 在不使用字符類的情況下輸出一個交替大寫和小寫的字符串
- 14. 如何對字母數字字符串值進行排序?
- 15. 如何防止在對對象進行字符串化時對數字進行字符串化?
- 16. 如何使用sscanf查找字符串中的小寫字母
- 17. 如何在沒有app.config的情況下對連接字符串進行加密
- 18. 如何在不區分大小寫的情況下按字母順序排序
- 19. 如何在不區分大小寫的情況下從字符串數組中獲取第一個字符集
- 20. 在沒有ctype.h的情況下轉換大小寫字母
- 21. 在不初始化大小的情況下存儲字符串數組
- 22. 如何在數組元素之間沒有空格的情況下對數組進行字符串化?
- 23. C#字符串進行排序小和大寫字母
- 24. 如何在不轉換爲字符串的情況下設置DateTime格式
- 25. 如何在不知道字符串長度的情況下對JFormattedTextField使用MaskFormatter?
- 26. 如何使用字母數字字符串中的數字進行排序?
- 27. 如何在PHP中使用小寫字母和數字來增加字母數字字符串?
- 28. 帶大寫字母和小寫字母的字符串轉換
- 29. 在不使用OData約定的情況下傳遞查詢字符串參數?
- 30. 在字符串的情況下應該如何使用同步?
您可以使用GSUB更換或從字符串中刪除特殊字符。 – jbmyid