C# 仅删除特定分区中的空间
我有这样一个字符串:C# 仅删除特定分区中的空间,c#,string,C#,String,我有这样一个字符串: var result = string.Join("\"", test.Split('\"') .Select((s, i) => i%2 == 1 ? s : s.Replace(" ", string.Empty))); 这是我的文本更多文本文本,这里有一些特殊的[S p e c i a l字符串]更多随机文本 我想做的是删除括号外的空格,因此最终结果是: 这是YTEXTMORETEXTEXTE
var result = string.Join("\"",
test.Split('\"')
.Select((s, i) => i%2 == 1 ? s : s.Replace(" ", string.Empty)));
这是我的文本更多文本文本,这里有一些特殊的[S p e c i a l字符串]更多随机文本
我想做的是删除括号外的空格,因此最终结果是:
这是YTEXTMORETEXTEXTEXT,这里有一些特殊的[S p e c i a l字符串]更多随机文本
现在我正在删除空格,只是在做
myString.Replace(" ", String.Empty);
但是,有没有办法只选择所需的零件呢?您可以这样做
stringbuilder sb = new stringbuilder();
bool should_remove = true;
foreach (var c in my_string) {
if (c == your_start_special_char)
should_remove = false;
else if (c == your_end_special_char)
should_remove = true;
else if (c != ' ')
sb.append(c);
}
注意大写字母和语法。。。不在VS atm上
另一种选择是根据您的特殊区域进行拼接,并从常规区域中删除空间…您可以执行以下操作
stringbuilder sb = new stringbuilder();
bool should_remove = true;
foreach (var c in my_string) {
if (c == your_start_special_char)
should_remove = false;
else if (c == your_end_special_char)
should_remove = true;
else if (c != ' ')
sb.append(c);
}
注意大写字母和语法。。。不在VS atm上
另一种选择是根据您的特殊区域进行拼接,并从常规区域中删除空间…您可以使用:
输出将保持:
thisismytextmoretexttexttextandherecomessomethingspecial[S p e c i a l string]morerandomtext
您可以使用:
输出将保持:
thisismytextmoretexttexttextandherecomessomethingspecial[S p e c i a l string]morerandomtext
像这样的怎么样:
var result = string.Join("\"",
test.Split('\"')
.Select((s, i) => i%2 == 1 ? s : s.Replace(" ", string.Empty)));
它用双引号将字符串拆分,并为替换操作选择每个备用拆分项,然后再次将它们连接起来。类似这样的内容如何:
var result = string.Join("\"",
test.Split('\"')
.Select((s, i) => i%2 == 1 ? s : s.Replace(" ", string.Empty)));
它用双引号分割字符串,并为替换操作选择每个备用分割项,然后再将它们连接起来。有个人想法吗?是的,但它意味着将整个字符串切成倍数(可能有几个“特殊字符串”)然后分别删除空格。我想知道是否有更好的方法,所以从一些有效的方法开始。然后,如果您发现它不符合性能、代码质量或其他要求,请返回这里并提供您的解决方案。您必须意识到,对于字面上的“无”来说,没有“更好的方法”.因为一切都比没有好。有个人想法吗?是的,但这意味着将整个字符串切成倍数(可能有几个“特殊字符串”)然后分别删除空格。我想知道是否有更好的方法,所以从一些有效的方法开始。然后,如果您发现它不符合性能、代码质量或其他要求,请返回这里并提供您的解决方案。您必须意识到,对于字面上的“无”来说,没有“更好的方法”。因为一切都比没有好。注意-如果带引号的块的两侧的分隔符不同,则此操作不起作用。因此,如果OP的编辑使用方括号而不是引号,则此代码不再起作用。注意-如果带引号的块的任一侧的分隔符不同,则此操作不起作用。因此,对于t如果编辑时使用方括号而不是引号,则此代码不再有效。