我有一个如下字符串:
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";
名称之间的空格应该完整。
有帮助吗?预先感谢。
答案 0 :(得分:0)
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);
答案 1 :(得分:0)
在您的评论之后,应该执行以下操作:
var newText = string.Join("-$@%@$", text.Split(new[] {"-$@%@$"},
StringSplitOptions.None)
.Select(t => t.TrimEnd()));
答案 2 :(得分:0)
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);
答案 3 :(得分:0)
假设模式是一组数字/名称对,内部用“-| @ $$ @ |-”分隔,而对用“-$ @%@ $-”分隔,这似乎可行:< / p>
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
答案 4 :(得分:-1)
我能想到的最简单,最容易理解的解决方案是:
strMyString = strMyString.Replace(@" -$@%@$", @"-$@%@$").TrimEnd(' ');
正如已经指出的那样,如果存在不同数量的空格,这将不起作用,这将是一个更好的解决方案:
RegexOptions options = RegexOptions.None;
Regex regex = new Regex("[ ]{2,}", options);
strMyString = regex.Replace(strMyString, "");