кому найти и отделить специальную часть текста в текстовом поле и скопировать ее в другое текстовое поле с помощью C #?

#c#

#c#

Вопрос:

У меня длинный текст в многострочном текстовом поле. Я буду отделять часть текста, которая начинается со специального слова и заканчивается другим специальным словом. итак, скопируйте его в другое текстовое поле. пожалуйста, помогите мне.

Комментарии:

1. если начальное и конечное слова являются значением fixex, вы можете использовать регулярные выражения для фильтрации содержимого

2. нет, начальное и конечное слова не являются фиксированными. но можете ли вы написать код для значения fixex?

Ответ №1:

Я предлагаю вам использовать регулярное выражение для решения этой проблемы. Ниже приведены коды:

 using System;
using System.Text.RegularExpressions;

namespace Regex_GetSpecialPart_Demo
{
    class Program
    {
        static void Main(string[] args)
        {
            string example = "starttest_exampleend";
            var match = Regex.Match(example, @"start(S )end");
            if (match.Success)
            {
                var result = match.Result("$1");
                Console.WriteLine(result);
            }

            Console.ReadLine();
        }
    }   
}
  

Результат — «test_example»

Ответ №2:

Попробуйте разделить пример :

 string data = "TEXTONExxTEXTTWOxxTEXTTHREExxTEXTFOUR";
return data.Split(new string[] { "xx" }, StringSplitOptions.None);
  

Ответ №3:

Регулярное выражение — лучший выбор, но в случае, если вы не хотите его использовать и предпочитаете писать дополнительный код, используйте это:

 public String getTextBetween(string start, string end, string text) {
            int t1 = 0;
            int t2 = 0;

            if (text == null) return "";
            t1 = text.IndexOf(start);
            if (t1 >= 0) t2 = text.IndexOf(end, t1   start.Length);

            return text.Substring(t1   start.Length, t2 - t1 - start.Length);
        }