разделить специальный символ, содержащийся внутри строки

avatar
yumi
8 апреля 2018 в 03:36
42
4
1

У меня есть строка """JBL@gmail.com, из которой я хочу удалить """, расположенную в начале адреса электронной почты. Я пытался использовать split, но, к сожалению, это не сработало.

Вот мой код:

     String [] sender1 = SA1.split(" ");
     String str1 = sender1[0];
     System.out.println("the str1 is :"+str1);
     String [] sender2 = str1.split("\\\"");

     String str2 = sender2[0];
     String str3 = sender2[1];

     System.out.println("the str2 is :"+str2);
     System.out.println("the str3 is :"+str3);



Вот мой вывод кода-

the str1 is :"""JBL@gmail.com""
the str2 is :
the str3 is :



Мой SA1 будет содержать """JBL@gmail.com"" <JBL@gmail.com>". Адрес электронной почты может состоять из букв нижнего и верхнего регистра, цифр и т. д.

.
Источник
N00b Pr0grammer
8 апреля 2018 в 03:39
0

Почему бы вам не сделать что-то вроде этого string.replaceAll("\"","");

Ответы (4)

avatar
DevilsHnd
8 апреля 2018 в 04:54
1

Если SA1 действительно содержит

"\"\"\"JBL@gmail.com\"\" <JBL@gmail.com>\""

, то вы можете использовать Pattern / Сличитель с Регулярное выражение из "<(.*?)>" для получения адреса электронной почты от Строка:

String sa1 = "\"\"\"JBL@gmail.com\"\" <JBL@gmail.com>\"";
String email = "";

Pattern pattern = Pattern.compile("<(.*?)>");
Matcher matcher = pattern.matcher(sa1);
while (matcher.find()) {
    // Is a match found? 
    if (!matcher.group(1).equals("")) { 
        // There is so place the match into the 
        // email variable.
        email = matcher.group(1); 
    }
}
// Display the E-Mail Address in Console Window.
System.out.println("E-Mail Address is:  " + email);

Отобразится окно консоли:

E-Mail Address is:  JBL@gmail.com

Объяснение регулярного выражения:

enter image description here

avatar
Roushan
8 апреля 2018 в 03:50
0
String  s= "\"\"\"JBL@gmail.com\"\" <JBL@gmail.com>\"".
                split("<")[1].replace(">", "").replace("\"", "");
avatar
Justin Albano
8 апреля 2018 в 03:42
1

Вы можете получить адрес электронной почты в первой части строки, удалив все кавычки (replace("\"", "")), разделив пробелами (split(" ")) и взяв первый элемент в разделении ([0]):

String str = "\"\"\"JBL@gmail.com\"\" <JBL@gmail.com>\"";
str.replace("\"", "").split(" ")[0];

Обратите внимание, что второй элемент выдаст <JBL@gmail.com>.

avatar
Ricardo
8 апреля 2018 в 03:39
0
"fdsd\"\"\" dsd".split("\"\"\"")

вы должны использовать

"yourWords".split("\"\"\"")