我的 String 中有这样的文本(我已经从 txt.file
中读取了该文本)
trump;Donald Trump;trump@yahoo.eu
obama;Barack Obama;obama@google.com
bush;George Bush;bush@inbox.com
clinton,Bill Clinton;clinton@mail.com
然后我尝试切断除电子邮件地址之外的所有内容并在控制台上打印出来
String f1[] = null;
f1=s.split("(.*?);");
for (int i=0;i<f1.length;i++) {
System.out.print(f1[i]);
}
我的输出如下:
trump@yahoo.eu
obama@google.com
bush@inbox.com
clinton@mail.com
如何避免这样的输出,我的意思是如何在没有换行符的情况下获得输出文本?
最佳答案
尝试使用以下方法。我已使用 Scanner
以及 BufferedReader
读取了您的文件,在这两种情况下,我都没有得到任何换行符。 file.txt
是包含文本的文件,拆分逻辑与您相同
public class CC {
public static void main(String[] args) throws IOException {
Scanner scan = new Scanner(new File("file.txt"));
while (scan.hasNext()) {
String f1[] = null;
f1 = scan.nextLine().split("(.*?);");
for (int i = 0; i < f1.length; i++) {
System.out.print(f1[i]);
}
}
scan.close();
BufferedReader br = new BufferedReader(new FileReader(new File("file.txt")));
String str = null;
while ((str = br.readLine()) != null) {
String f1[] = null;
f1 = str.split("(.*?);");
for (int i = 0; i < f1.length; i++) {
System.out.print(f1[i]);
}
}
br.close();
}
}
关于java - 如何删除字符串中多余的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52242565/