我需要C#中字符串處理方面的幫助。用C#.NET進行字符串處理
我有字和字符串之間的空白字符串(我有不止一個單詞之間的空格,空格是動態的)。 我需要更換與前圍空的空間 「 - 」
我有這樣的事情:
string stringForManipulation = "word1 word2 word3";
我需要這樣的:
"word1-word2-word3"
TNX
我需要C#中字符串處理方面的幫助。用C#.NET進行字符串處理
我有字和字符串之間的空白字符串(我有不止一個單詞之間的空格,空格是動態的)。 我需要更換與前圍空的空間 「 - 」
我有這樣的事情:
string stringForManipulation = "word1 word2 word3";
我需要這樣的:
"word1-word2-word3"
TNX
s
裝置的空白和+
指一種或多種occurence。
謝謝分配! 乾杯。 –
您可以使用正則表達式:
string stringForManipulation = "word1 word2 word3";
string result = Regex.Replace(stringForManipulation, @"\s+", "-");
這會將所有出現的一個或多個空格替換爲「 - 」。
對於thoose沒有正則表達式的知識,也可以通過簡單的實現分裂聯接操作:
string wordsWithDashes = stringForManipulation.Split(new []{' '}, StringSplitOptions.RemoveEmptyEntries).Join('-')
它可以...但這是其中正則表達式更好的答案,因爲正則表達式解決方案更簡單,更易於閱讀。 –
我同意正則表達式代碼更短,但是有許多人完全是編程新手,並且不瞭解正則表達式。 – cyberj0g
@ cyberj0g - ...在這種情況下,他們應該明白,正則表達式是一件事情。我不相信你的解決方案更容易理解新編程的人。此外,聲明「它可以不用正則表達式」是好的和真實的,但請添加「爲什麼它應該沒有正則表達式」部分。 –
只需使用
string result=Regex.Replace(str , @"\s+", "-")
將取代單個或多個空格單「 - 」
您可以試試以下內容
string stringForManipulation = "word1 word2 word3";
string wordsWithDashes = String.Join(" ", stringForManipulation.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries)).Replace(" ", "-");
創建一個Fiddle
這個問題說「給我codez」。證明你在要求解決方案之前已經嘗試了一些東西。 http://stackoverflow.com/help/how-to-ask是一個好的開始。 –