我試圖使用TextInfo.ToTitleCase
將某些名稱轉換爲正確的大小寫。它適用於小寫字母和大小寫混合的字符串,但對於所有大寫字符的字符串,它會按原樣返回輸入字符串。
在MSDN文檔中沒有提到這種行爲,任何見解?TextInfo.ToTitleCase無法正常工作所有大寫字符串
回答
從MSDN文檔:
備註 一般來說,標題外殼轉換一個詞的第一個字母爲大寫和字符的其餘小寫。但是,此方法目前不提供適當的外殼來轉換完全大寫的單詞,如首字母縮寫詞。下表顯示了該方法呈現多個字符串的方式。
因此它是預期的行爲。如果全部大寫,則可以首先將字符串小寫,然後在其上運行ToTitleCase。
我懷疑這是因爲所有首都的單詞都被認爲是縮寫,如美國。
例如,你不希望「地震襲擊美國」改爲「地震襲擊美國」嗎?
那是一個錯誤。 Unicode指定「美國」 - >「美國」。編輯:好的,不是一個錯誤,因爲它是在文檔中提到的,但令人驚訝的行爲。 – leppie 2010-04-23 08:44:13
MSDN文檔說:
一般來說,標題外殼轉換一個詞的第一個字母爲大寫和字符的其餘小寫。但是,一個完全大寫的單詞,如首字母縮略詞,不會被轉換。
所以它按預期工作。嘗試TextInfo.ToTitleCase(TextInfo.ToLowerCase("STRINGINCAPS")
,如:
string TitleCaseString;
TextInfo myTI = new CultureInfo("en-US",false).TextInfo;
TitleCaseString = myTI.ToTitleCase(myTI.ToLowerCase("STRINGINCAPS"));
我應該添加改爲.net 3.5的措辭,並且不清楚這個事實。 – Kobi 2010-04-23 08:49:07
- 1. 大寫功能無法正常工作
- 2. 串行寫入無法正常工作
- 3. TextInfo.ToTitleCase無法正常工作,有什麼更好的解決方案?
- 4. 垂直對齊無法在大寫文字上正常工作
- 5. 從字符串加載字節數組無法正常工作?
- 6. 重寫方法無法正常工作
- 7. Visual C# - 字符串追加到字符串無法正常工作
- 8. Java字符串輸入無法正常工作
- 9. deleteDatabse(字符串)無法正常工作的android
- 10. 字符串比較無法正常工作?
- 11. C#WebClient上傳字符串無法正常工作
- 12. 字符串等於無法正常工作
- 13. Webpack字符串替換裝載程序無法正常工作
- 14. PHP中連接的字符串回聲無法正常工作
- 15. iPhone無法使用的字符串不能正常工作
- 16. htaccess查詢字符串重定向無法正常工作
- 17. 字符串數組陣列無法正常工作
- 18. 字符串檢查while循環無法正常工作
- 19. 字符串比較無法正常工作?
- 20. 二進制搜索字符串無法正常工作
- 21. 替換字符串無法正常工作
- 22. ng-pattern無法正常工作,匹配每個字符串
- 23. 字符串日期轉換在Javascript中無法正常工作
- 24. Objective-c:比較兩個字符串無法正常工作
- 25. 字符串的範圍無法正常工作whit nsAttributeString
- 26. Java TreeMap迭代器對字符串鍵無法正常工作
- 27. 獲取字符串長度將無法正常工作
- 28. 字符串文件路徑無法正常工作c#
- 29. Javascript - concat字符串無法正常工作
- 30. file.read()在字符串比較中無法正常工作
你是對的,我在閱讀文檔時錯過了它。 – 2010-04-23 08:58:17
@Nims - 在你遲來的防守中,[當前]文檔並沒有說ToTitleCase不會蹲在所有上限。我的第一印象是,它不會忽略所有上限,並無論如何將標題案。哎呦。 'textInfo.ToTitleCase(strAllCaps.ToLower())'它是。 – ruffin 2012-06-20 14:37:00
目前的文檔還說「我們保留將來使這個API變慢的權利。」必須愛微軟! (: – chessofnerd 2013-07-05 13:43:38