HamzaMcBob Ответов: 1

Hoow мне сделать код работы нескольких экземпляров с#


Итак, у меня есть некоторый код, который берет текст и разбивает его на то, что находится внутри
< p > и < /p >(На самом деле нет пробелов, но этот сайт не будет показывать это так)
это довольно просто, но это происходит только в первом случае его возникновения .. Я хочу, чтобы он сделал это для всех экземпляров тех, кто есть во всем тексте .. это можно было бы сделать с помощью цикла, но я понятия не имею, как реализовать этот цикл

```
var startTag = $"

";
var endTag = $"

";

//Для сравнения текста
//string ImpureCText = "

Здравствуйте это тест чтобы увидеть если это даст ошибку

привет это возможно

ты имбасил

";// вставить текстовый файл здесь
bool b = ImpureCText.Contains(startTag);
bool l = ImpureCText.Contains(endTag);
если (b && l)
{
int index1 = ImpureCText.IndexOf(startTag);
int index2 = ImpureCText.IndexOf(endTag);
если (индекс1 &ГТ;= 0) //находит положение символ начала pharagraph
Приставка.WriteLine ("'{0} начинается с позиции символа {1}", startTag, index1 + 1);
Приставка.WriteLine("'{0} начинается с позиции символа {1}", endTag, index2 + 1);

// Это для Pharagraph locate
//строки LesserImputerText = регулярное выражение.Заменить(ImpureTitleText, @"(@[а-Яа-З0-9]+)|([^0-9А-Яа-я \т])|(\ш+:\/\/\Ы+)", " ").ToString(); //избавляется от значений, отличных от ASCII (from http://luisquintanilla.me/2018/01/18/real-time-sentiment-analysis-csharp/) но, похоже, ничего не делает, когда ставит не ASCII-символ, такой как перевернутый восклицательный знак.
int PCstart = ImpureCText.IndexOf(startTag) + startTag.Длина; //отсюда до //это регулярное выражение разбивает его
int PCEnd = ImpureCText.IndexOf(endTag);
строка PureText = ImpureCText.Substring(PCstart, PCEnd - PCstart);
Приставка.WriteLine(PureText);
Приставка.метод WriteLine("");

Что я уже пробовал:

цикл foreach
для циклов
зацикливание всего текста - текста между 2 точками в предыдущем вхождении в цикл, так что новый текст на самом деле является просто старым текстом без этой конкретной строки в нем . неэффективно и без понятия как реализовать часть кода

F-ES Sitecore

Опубликуйте соответствующие биты кода, которые у вас есть до сих пор.

HamzaMcBob

сделал это

1 Ответов

Рейтинг:
0

MadMyche

Давайте посмотрим на то, что вы ищете

startTag = $"<p>";
endTag = $"</p>";
И предметы, которые, по вашему мнению, должны быть найдены
<p1>hello this is a test to see if this works </p1>
<p2>because i feel like this is not going<p2/>
to work now for some horrible reason</p3>
И сравнение значений
<p1> Hello this is a test to see if this will give an error</p1>
<p2> hello this could possibly</p2>
<p3> you are an imbaseel</p3>

Вывод: Спичек нет. Вы ищете элемент абзаца <p> e (не смотрите пробелов), но их нет.
У вас есть <p1>, <p2> и a (однажды сломанный) <p3>

Возможно, вы захотите настроить свой код для построения "вариантов" искомого элемента.

Или вы можете использовать что-то вроде пакета HTML Agility Pack, если вы извлекаете это из HTML-документа


HamzaMcBob

Шу т это была ошибка мой блокнот они все должны были сказать

HamzaMcBob

обновил его сейчас извините