Как получить строку перед определенным символом в строке
Есть ли способ на 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