@noytmant

Как получить несколько частей текста из string?

Допустим я имею следующее:
string long = "kfkfkkfppepd0d03k31word=1<3!oleg!3>1flakoekfml2laz[-1dom3-]"

И создаю ещё одни переменные:
string long_part1 = "";
string long_part2 = "";

Как сделать так, чтобы из long в long_part1 поместилось слово oleg, а в long_part2 поместилось слово dom?
  • Вопрос задан
  • 95 просмотров
Решения вопроса 2
DanielMcRon
@DanielMcRon
C# && Unity
class Program {

        static void Main(string[] args) {

            string longer = "kokokoko<!3oleg!3>lololo[2!dom2!]";

            string name = SearchWordInMassive(longer, "!3");  //longer1
            string adress = SearchWordInMassive(longer, "2!"); //longer2 
        }
        
        private static string SearchWordInMassive(string massiveWords,string restrictionCharacters) {
            string word = "";
            int startIndex = massiveWords.IndexOf(restrictionCharacters) + restrictionCharacters.Length;
            int lastIndex = massiveWords.LastIndexOf(restrictionCharacters);
            int lengthWord = lastIndex - startIndex;
            word = massiveWords.Substring(startIndex, lengthWord);
            return word;
        }
    }


Может можно сделать и компактнее,поэтому не уверен.

В метод передаётся массив слов, букв - 1 параметром, 2 же это чем ограничиваются ваши слова . Нужно чтобы по бокам ограничители были одинаковые то есть !3 oleg !3
Ответ написан
@d-stream
Готовые решения - не подаю, но...
Прямой путь - https://docs.microsoft.com/ru-ru/dotnet/standard/b...

Единственный минус - достаточно сложное регулярное выражение сложновато для восприятия "беглым взглядом"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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