我有一个这样的字符串:
mystring = "A:\"" + var1 + var2 + var3 + "\"";
var1 var2和var3有时会变为null,有时会得到字符串。当变量得到字符串时,mystring会像这样返回:
A:"var1valuevar2valuevar3value"
我需要这样展示:
A:"var1value var2value var3value"
我试过这样:
mystring = "A:\"" + var1 + " " + var2 + " " + var3 + "\"";
它正在工作但是当变量变为null时,它会像这样返回:
A:" var2value var3value"
如何删除不必要的空格?如果变量为null,我不需要在两个变量或第一个字符之间有空格。
答案 0 :(得分:3)
您可以使用LINQ过滤掉空白,并使用string.Join
连接它们:
string s = string.Join( " "
, new string [] {var1, var2, var3}
.Where(x => !string.IsNullOrEmpty(x))
)
答案 1 :(得分:1)
检查空值是否是你的字符串:
mystring = "A:\"" + GetString(var1) + GetString(var2) + GetString(var3, true) + "\"";
public string GetString(string str, bool isLast = false)
{
if (isLast)
return str;
return String.IsNullOrEmpty(str) ? "" : str + " ";
}
答案 2 :(得分:1)
使用此
mystring = "A:\"" + (!String.IsNullOrEmpty(var1) ? (var1 + " ") : "") + (!String.IsNullOrEmpty(var2) ? (var2 + " ") : "") + (!String.IsNullOrEmpty(var3) ? (var3 + " ") : "") + "\"";
答案 3 :(得分:0)
使用以下
string mystring = "A:\"" + AddSpace(var1) + AddSpace(var2) + var3 + "\"";
public string AddSpace(String var)
{
return var == null ? "" : var + " ";
}