Как получить строку перед определенным символом в строке

Есть ли способ на vb.net получить имя пользователя с адреса электронной почты?

Например, у меня есть строковая переменная, и она состоит из значения tracywilly@gmail.comздесь мне нужно получить имя пользователя т.е. tracywilly мой ожидаемый результат

Dim email_addr as string
Dim usr as string
email_addr = "tracywilly@gmail.com"

1 ответ

Решение

Вы можете добиться этого, используя split() или же regex в vb.net

см. следующие методы

используя split() функция:

 Function username(ByVal str As String) As String
        Dim arStr As String()
        arStr = str.Split("@")
        username = arStr(0)
        Return username
    End Function

используя regex:

Function username_1(ByVal str As String) As String
    username_1 = System.Text.RegularExpressions.Regex.Match(str, "^.*?(?=@)").ToString
    Return username_1
End Function

как это устроено?

Dim email_addr as string
Dim usr as string
email_addr = "tracywilly@gmail.com"
usr = username(email_addr)
usr = username_1(email_addr)

Live Demo

Другие вопросы по тегам