Разбить и добавить «И» между значениями - PullRequest
0 голосов
/ 08 января 2019

как разделить ниже значения и добавить И между значениями? Я не могу разделить пробелами, так как между словами

есть пробелы
"\"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);
}

Ответы [ 3 ]

0 голосов
/ 08 января 2019

Вместо разделения замените " " на " AND "

var test = "\"Mark John\" \"Tina Roy\"";
        var new_string= test.Replace("\" \"", " AND "); 
0 голосов
/ 08 января 2019

Попробуйте

var result = str.Replace("\" \"","\" And \"");

Если у вас более одного имени или есть вероятность, что между двумя именами может быть несколько пробелов, вы можете выбрать Regex.

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"
0 голосов
/ 08 января 2019

Или используйте регулярные выражения:

var test = "\"John Smith\" \"Bill jones\" \"Bob Norman\"";      
Console.WriteLine(Regex.Replace(test, "\" \"", "\" AND \""));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...