C# “拆分并附加”;及;价值之间
如何在值下方拆分、在值之间追加和? 我不能用空格分隔,因为单词之间有空格C# “拆分并附加”;及;价值之间,c#,split,C#,Split,如何在值下方拆分、在值之间追加和? 我不能用空格分隔,因为单词之间有空格 "\"Mark John\" \"Tina Roy\"" as "\"Mark John\" AND \"Tina Roy\"" 最后看起来应该是这样的- "Mark John" AND "Tina Roy" 感谢您的帮助 string operatorValue = " AND "; if (!string.IsNullOrEmpty(operatorValue)) { foreach (string se
"\"Mark John\" \"Tina Roy\""
as
"\"Mark John\" AND \"Tina Roy\""
最后看起来应该是这样的-
"Mark John" AND "Tina Roy"
感谢您的帮助
string operatorValue = " AND ";
if (!string.IsNullOrEmpty(operatorValue))
{
foreach (string searchVal in SearchRequest.Text.Split(' '))
{
if (!string.IsNullOrEmpty(searchVal))
searchValue += searchVal + operatorValue;
}
}
int index = searchValue.LastIndexOf(operatorValue);
if (index != -1)
{
outputSearchValue = searchValue.Substring(0, index);
}
或使用正则表达式:
var test = "\"John Smith\" \"Bill jones\" \"Bob Norman\"";
Console.WriteLine(Regex.Replace(test, "\" \"", "\" AND \""));
不要拆分,而是将
“
替换为”和“
试一试
如果你有不止一个名字,或者两个名字之间可能有不止一个空格,你可以选择正则表达式
var result = Regex.Replace(str,"\"\\s+\"","\" And \"");
例如
var str = "\"Mark John\" \"Tina Roy\" \"Anu Viswan\"";
var result = Regex.Replace(str,"\"\\s+\"","\" And \"");
输出
"Mark John" And "Tina Roy" And "Anu Viswan"
使用另一个分隔符来确定名称是否结束。或者将名称存储在数组或列表中。之后,可以使用String.Join来连接元素
var str = "\"Mark John\" \"Tina Roy\" \"Anu Viswan\"";
var result = Regex.Replace(str,"\"\\s+\"","\" And \"");
"Mark John" And "Tina Roy" And "Anu Viswan"