[英]Remove certain empty spaces in a string in C#
我有一個字符串如下:
strMyString = "4654564-|@$@|-Jennifer Austin -$@%@$-646565546-|@$@|-Dutchin Henry LLC -$@%@$-444309386-|@$@|-Winston Cooper LLC ";
我想在名稱后刪除空格。
我嘗試使用
string.Replace(" ", string.Empty)
但這將刪除字符串中的所有空白,我只想刪除名稱部分之后的空白。
我的最終輸出應該是這樣的
strMyString = "4654564-|@$@|-Jennifer Austin-$@%@$-646565546-|@$@|-Dutchin Henry LLC-$@%@$-444309386-|@$@|-Winston Cooper LLC";
名稱之間的空格應完整無缺。
有什么幫助嗎? 提前致謝。
string strMyString = "4654564-|@$@|-Jennifer Austin -$@%@$-646565546-|@$@|-Dutchin Henry LLC -$@%@$-444309386-|@$@|-Winston Cooper LLC ";
string pattern = "\\s+-";
string replacement = "-";
string result = Regex.Replace(strMyString, pattern, replacement);
在您發表評論之后,應執行以下操作:
var newText = string.Join("-$@%@$", text.Split(new[] {"-$@%@$"},
StringSplitOptions.None)
.Select(t => t.TrimEnd()));
string strMyString = "4654564-|@$@|-Jennifer Austin -$@%@$-646565546-|@$@|-Dutchin Henry LLC -$@%@$-444309386-|@$@|-Winston Cooper LLC ";
var subStrings = strMyString.Split('-').ToList();
var newSubstrings = new List<string>();
subStrings.ForEach(substring => newSubstrings.Add(substring.Trim(' ')));
var newString = string.Join("-",newSubstrings);
Console.WriteLine(newString);
假設模式是一組數字/名稱對,內部用“-| @ $$ ||-”分隔,而這些對用“-$ @%@ $-”分隔,這似乎可行:
string input =
"4654564-|@$@|-Jennifer Austin -$@%@$-646565546-|@$@|-Dutchin Henry LLC -$@%@$-444309386-|@$@|-Winston Cooper LLC ";
const string separator = "-$@%@$-";
const string pattern = @"\s+-\$@%@\$-";
var regex= new Regex(pattern);
var firstPass = regex.Replace(input, separator);
var result = firstPass.TrimEnd(' ');
運行后, result
如下:
"4654564-|@$@|-Jennifer Austin-$@%@$-646565546-|@$@|-Dutchin Henry LLC-$@%@$-444309386-|@$@|-Winston Cooper LLC"
Regex取消了兩對之間的分隔符,刪除了分隔符之前的所有空格。 然后,尾隨的空格仍然存在,因此我使用TrimEnd
將其刪除
我能想到的最簡單,最容易理解的解決方案是:
strMyString = strMyString.Replace(@" -$@%@$", @"-$@%@$").TrimEnd(' ');
正如已經指出的那樣,如果存在不同數量的空格,那么它將不起作用,這將是一個更好的解決方案:
RegexOptions options = RegexOptions.None;
Regex regex = new Regex("[ ]{2,}", options);
strMyString = regex.Replace(strMyString, "");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.