strelec писал(а):1.как надо искать в тексте слово который начинается с "прог" и кончается на "ние" и вывести результат
2.все тоже самое но чтобы найти в MyText слово который начинается с "прог" но в результате будет "раммирование" (прог) отпадает
3.как заменит все что начинается с "прог" и кончается на "ние" на слово "vb.net"
- Код: Выделить всё
Imports System.Text.RegularExpressions
Module All
Sub Main()
Dim Text As String = "Книга программирование, язык программирование, большой проект , начинаем тестирование "
Dim Res1() As String = (From M As Match In Regex.Matches(Text, "прог\w*ние") Select M.Value).ToArray()
Dim Res2() As String = (From M As Match In Regex.Matches(Text, "прог\w*") Select M.Value.Substring(4)).ToArray()
Dim Res3 As String = Regex.Replace(Text, "прог\w*ние", "vb.net")
For Each Str As String In Res1
Console.WriteLine(Str)
Next Str
Console.WriteLine()
For Each Str As String In Res2
Console.WriteLine(Str)
Next Str
Console.WriteLine()
Console.WriteLine(Res3)
Console.ReadKey()
End Sub
End Module
strelec писал(а):блин приходится делать такие коды )
Почитай про методы класса String. Кстати, насколько я знаю (сам не проверял), использование Mid замедляет программу в несколько раз по сравнению с аналогичным использованием Substring.
PS: Используй тег [
code], а не [
icode], где это требуется.
UPDATE: Был невнимателен,
"прог.*?ние" исправлено на
"прог\w*ние". Хотя, это тоже не поиск слова. Надо ещё границы проверять, а потом обрезать.
UPDATE:
- Код: Выделить всё
Dim Res3 As String = Regex.Replace(Text, "\Wпрог\w*ние\W", Function(M As Match) String.Format("{0}vb.net{1}", M.Value(0), M.Value(M.Value.Length - 1)))
Res1 и Res2 тоже надо немного изменить.