簡體   English   中英

regexp將每個單詞的每個首字母大寫而忽略一些

[英]regexp to capitalize every first letter of every word and ignore some

大家好,我如何創建一個正則表達式來大寫每個單詞的每個首字母,而忽略諸如dos,de,da之類的單詞。

我想要這樣的字符串:“ TEMporADA DOS TECNologoS”

將是:“ Temporada dos Tecnologos”。

謝謝

無需正則表達式。 您可以先使用TextInfo.ToTitleCase ,然后在“忽略”字上應用小寫規則(將DOS更改為dos):

string text = "TEMporADA DOS TECNologoS";
string[] ignoreWords = {"dos", "de", "da"};

text = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(text); // uppercase first letter all
var newWords = text.Split()
    .Select(w => ignoreWords.Contains(w, StringComparer.OrdinalIgnoreCase) 
                   ? Char.ToLower(w[0]) + w.Substring(1) 
                   : w);
text = String.Join(" ", newWords);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM