Member 12919944 Ответов: 3

Как получить первую, среднюю и последнюю часть строки в ASP vb.


Привет, ребята . как я могу получить первую, последнюю и среднюю часть строки в ASP VB ?

например:

Леброн Кинг Джеймс.

я хочу получить "Леброна","короля", "Джеймса" отдельно .

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

Я попытался использовать левую отделку. но я думаю, что это трудно использовать при получении средней строки.

[no name]

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

Tomas Takac

Воспользуйся Строка.Метод разделения[^].

3 Ответов

Рейтинг:
2

Wendelius

Вы можете использовать Строка.Метод Разделения (Система)[^]

Рассмотрим следующий пример

Dim input As String
Dim elements As String()

input = "Lebron King James"

elements = input.Split(" ")
For Each item As String In elements
    Console.WriteLine(item)
Next

Выход будет следующим
Lebron
King
James


Рейтинг:
2

Peter Leow

Как вы определяете "первую,последнюю и среднюю часть строки" в

i want to get the "Lebron","King","James" separately .

Ищите общие черты, общие для желаемого результата, и я заметил, что они заключены в двойные кавычки по отдельности, а затем вызывайте регулярное выражение, чтобы извлечь их. Смотрите пример:
Imports System
Imports System.Text.RegularExpressions

Public Module Module1

    Public Sub Main()
        Dim str As String = "i want to get the ""Lebron"",""King"",""James"" separately."
		Console.Write("The sentence is: ")
		Console.WriteLine(str)
		Dim pattern As String = "(?<="")[^,""]+(?="")"
		Console.Write("The Regex pattern is: ")
        Console.WriteLine(pattern)

		showMatch(str, pattern)
		
    End Sub

    Sub showMatch(ByVal text As String, ByVal expr As String)
        Dim mc As MatchCollection = Regex.Matches(text, expr)
        Dim m As Match
		
		Console.WriteLine("The matched are as follows: ")
        For Each m In mc
            Console.WriteLine(m)
        Next m
    End Sub
End Module
Результат как показано на рисунке:
The sentence is: i want to get the "Lebron","King","James" separately.
The Regex pattern is: (?<=")[^,"]+(?=")
The matched are as follows: 
Lebron
King
James
Учить 30-Минутный Учебник По Регулярным Выражениям[^]


[no name]

Может сработать, если это действительно та ситуация, о которой спрашивал ОП.

Peter Leow

Если нет, пусть это будет обмен знаниями и обучение.

Рейтинг:
1

Patrice T

Цитата:
Я попытался использовать левую отделку. но я думаю, что это трудно использовать при получении средней строки.

Если вы посмотрите на документацию (строковые функции), то увидите, что left это не единственная функция для резки строк.