Как вставить новую строку между текстом

1

Я создал объект (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]);
 }

**

  • 0
    Вы не хотите разделяться на .com , вы хотите разделить после него. Попробуйте вместо этого использовать String#indexOf и String#substring
  • 0
    когда сама строка готовится вами, тогда почему бы вам не добавить символ новой строки или некоторую переменную, с помощью которой вы можете разделить.
Показать ещё 1 комментарий
Теги:
string

6 ответов

7
Лучший ответ

Для этой конкретной 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.

  • 1
    +1 а как насчет \ r \ n для windows?
1

Вы можете сделать это, используя подстроку 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"));
1

Согласно API, метод.split(...) в классе String разбивает строки вокруг регулярного выражения, заданного в качестве аргумента. Если вы посмотрите на примеры, предоставленные API, он удаляет символы, которые соответствуют при разделении строки.

1

Попробуйте этот код, используя функцию 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
1

Делай это так:

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"));
0
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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню