все У меня есть несколько строк, чтобы найти, как показано нижеЧто такое регулярное выражение для этого случая в C#?
\r\n1928A\r\n
\r\nabc\r\n
\r\n239\r\n
Что такое лучший способ найти эти строки в предложении?
все У меня есть несколько строк, чтобы найти, как показано нижеЧто такое регулярное выражение для этого случая в C#?
\r\n1928A\r\n
\r\nabc\r\n
\r\n239\r\n
Что такое лучший способ найти эти строки в предложении?
Вы можете использовать это регулярное выражение
\r?\n\w+\r?\n
В случае, если у вас есть только 1 \r?\n
между словами ... Вы можете использовать это регулярное выражение
\r?\n\w+(?=\r?\n)
\w
будет соответствовать одной цифре, алфавит или _
+
is qua ntifier, который соответствует шаблону, предшествующим 1 во много раз
Так, \w+
будет соответствовать 1 ко многим словам
?
будет соответствовать предыдущему образцу необязательно ..
Так, с \r?
мы будем соответствовать \ г, необязательно
Ваш код будет
List<String> lst=Regex.Matches(input,regex)
.Cast<Match>()
.Select(x.Value)
.ToList();
Или, чтобы сделать его более ясным
foreach(Match m in Regex.Matches(input,regex))
{
m.Value;
}
Предполагая, что слово, которое вы хотите, чтобы соответствовать, это всегда между двумя \r\n
, вы можете использовать string.Split()
вместо Regex:
string input = @"hello\r\nhow\r\nare\r\nyou?";
string[] words = input.Split(@"\r\n", StringSplitOptions.None);
// words == { "hello", "how", "are", "you?" }
if (words.Length >= 3)
{
for (int i = 1; i < words.Length - 1; i++)
// first and last elements ("hello" and "you?") are not between new lines
{
string word = @"\r\n" + words[i] + "\r\n";
// do something with your words "how" and "are"
}
}
Did вы что-нибудь пытаетесь? –
что вы хотите '\ r',' \ n' или только 'n1928A' и что вы пробовали – Anirudha
это слово всегда в betweem \ r \ n word \ r \ n .... –