ulungss Ответов: 3

Быстрый и лучший способ получить строку контента в словах


у меня есть такой код :

вход :

dim msg as string = " Agen 05, Pembelian SM5. 08132166171 Hrg=5500 SUKSES SN: 3778882223. Saldo Rp. (Awal 780700 Akhir 775200)"

и я надеюсь, что строковый вывод :
СН: 3778882223

надеюсь, вы поможете,

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

Я стараюсь

'Dim arr As String () = Regex. Split(msg," \W+")
За каждое сообщение в ОБР
- Почтовый ящик.Шоу (sPesan)
- Следующий

3 Ответов

Рейтинг:
27

Peter Leow

Попробовать это:

Imports System
Imports System.Text.RegularExpressions
				
Public Module Module1
	Public Sub Main()
		
		Dim regex As Regex = New Regex("SN: \d+")
		Dim match As Match = regex.Match("Agen 05, Pembelian SM5.08132166171 Hrg=5500 SUKSES SN: 3778882223. Saldo Rp.(Awal 780700 Akhir 775200)")
		If match.Success Then
	    	Console.WriteLine(match.Value)
		End If

	End Sub
End Module

Учить больше:
1. 30-Минутный Учебник По Регулярным Выражениям[^]
2. http://www.dotnetperls.com/regex-vbnet[^]


Karthik_Mahalingam

5! Чистый

Peter Leow

Спасибо, Картик.

ulungss

это работа, отличная . спасибо Питеру.

Рейтинг:
2

Patrice T

Вы должны изучить регулярное выражение (регулярные выражения)
Вот документация
perlre - perldoc.perl.org[^]
Завершите несколько инструментов, помогающих создавать и отлаживать регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]
.Объем тестер регулярное выражение - регулярное выражение шторм[^]
Регулярное Средство Выражения Эспрессо [^]


ulungss

спасибо за справку....

Рейтинг:
16

Mehdi Gholam

Используйте регулярное выражение SN\s*:\s*(\d*) подобный этому :

Dim match As Match = Regex.Match(inputstring, "SN\s*:\s*(\d*)",  RegexOptions.IgnoreCase)
	If match.Success Then
	    ' Write value.
	    MessageBox.Show(match.Groups(1)) ' will give 3778882223
	End If


ulungss

спасибо Мехди, работай отлично и за второй выбор.