Поиск узла в XML по нечувствительному к регистру поиску подстроки [duplicate]

Хорошо, поэтому я получил еще одну версию этого, основываясь на приведенных выше ответах, но занимая больше вещей в учетной записи (utf-8,\n и & amp; nbsp;), а также строку, разделяющую короткие коды wordpress, прокомментированные, если они используются с wp.

function neatest_trim($content, $chars) 
  if (strlen($content) > $chars) 
  {
    $content = str_replace(' ', ' ', $content);
    $content = str_replace("\n", '', $content);
    // use with wordpress    
    //$content = strip_tags(strip_shortcodes(trim($content)));
    $content = strip_tags(trim($content));
    $content = preg_replace('/\s+?(\S+)?$/', '', mb_substr($content, 0, $chars));

    $content = trim($content) . '...';
    return $content;
  }
1
задан Alexei Levenkov 2 March 2019 в 04:53
поделиться

1 ответ

Измените

 name = Console.ReadLine().ToUpper();

на

 name = Console.ReadLine();

Ваш исходный код читает вводимые пользователем данные, затем изменяет их на все заглавные, прежде чем сохранять их в переменной «name».

Теперь, чтобы по-настоящему решить вашу проблему, мне нужно указать на две вещи:

1) Ваш XML <nombre> - это прописные буквы VIVA COLOMBIA, но смешанные с Volotea. Другие <nombre> поля имеют аналогичные проблемы.

2) Вы имеете дело с пользовательским вводом, который может довольно широко варьироваться в зависимости от того, кто печатает. Некоторые пользователи могут вводить все заглавные буквы, некоторые строчные (вы называете это крошечным).

1113 Реальное решение состоит в том, что вы должны читать все как один случай. Таким образом, это остается тем же самым как оригинал: name = Console.ReadLine().ToUpper();

Замените if (!String.IsNullOrEmpty(el.Element("nombre").Value.) && ((string)el.Element("nombre").Value.IndexOf(name) >= 0)

на это if (!String.IsNullOrEmpty(el.Element("nombre").Value.ToUpper()) && ((string)el.Element("nombre").Value.ToUpper()).IndexOf(name) >= 0)

0
ответ дан Mr Lister 2 March 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: