Я создал объект (new1), который содержит следующий текст
E-Mail: [email protected] Number (PNR): H246FY
Выход должен отображаться в двух отдельных строках следующим образом:
E-Mail: [email protected]
Номер подтверждения (PNR): H246FY
Создал следующую логику, но не принимает ".com" при печати вывода
**
String[] inputSplitNewLine =new1.split(".com");
for(int i=0;i<inputSplitNewLine.length;i++){
System.out.println(inputSplitNewLine[i]);
}
**
Для этой конкретной String
вы можете использовать метод #replace
.
String str="E-Mail: [email protected] Number (PNR):H246FY";
str=str.replace(".com", ".com\n");
//str=str.replace(".com", ".com\r\n");
System.out.println(str);
ВЫВОД
E-Mail: [email protected]
Confirmation Number (PNR):H246FY
Примечание: \r\n
следует использовать для окон, а не просто \n
указывает Scary Wombat
.
Вы можете сделать это, используя подстроку indexOf +, чтобы получить позицию .com
.
образец:
String s = "E-Mail: [email protected] Number (PNR):H246FY";
System.out.println(s.substring(0, s.indexOf(".com") + 4));
System.out.println(s.substring(s.indexOf(".com") + 4, s.length()));
результат:
E-Mail: [email protected]
Confirmation Number (PNR):H246FY
Вы также можете использовать метод вставки StringBuffer
StringBuffer s = new StringBuffer("E-Mail: [email protected] Number (PNR):H246FY");
System.out.println(s.insert(s.indexOf(".com") + 4, "\n"));
Согласно API, метод.split(...) в классе String разбивает строки вокруг регулярного выражения, заданного в качестве аргумента. Если вы посмотрите на примеры, предоставленные API, он удаляет символы, которые соответствуют при разделении строки.
Попробуйте этот код, используя функцию String # indexOf(), чтобы получить индекс .com
и подстроку в соответствии с ним:
int inputSplitNewLine = new1.indexOf(".com");
String s1 = new1.substring(0, inputSplitNewLine + 4);
String s2 = new1.substring(inputSplitNewLine + 4);
System.out.println(s1);
System.out.println(s2);
Вывод:
E-Mail: [email protected]
Confirmation Number (PNR):H246FY
Делай это так:
String s = "E-Mail: [email protected] Number (PNR):H246FY";
int index = s.indexOf(".com");
System.out.println(s.substring(0, index + ".com".length()));
System.out.println(s.substring(index + ".com".length()));
или
System.out.println(s.replaceFirst(".com", ".com\n"));
String str = "E-Mail: [email protected] Number (PNR):H246FY";
str = str.replace(".com", ".com%n") // Becomes: E-Mail: [email protected]%nConfirmation Number (PNR):H246FY
// For OS independent Line Seperator let String.format do it
str = String.format(str); // Replaces %n to OS Line separator
System.out.println(str);
Вывод:
E-Mail: [email protected]
Confirmation Number (PNR):H246FY
.com
, вы хотите разделить после него. Попробуйте вместо этого использоватьString#indexOf
иString#substring