Java String.split导致最后一个索引上出现换行符
当我拆分字符串时,在最后一个索引之后会出现换行符,有人知道是什么导致了这种情况吗 代码:Java String.split导致最后一个索引上出现换行符,java,string,Java,String,当我拆分字符串时,在最后一个索引之后会出现换行符,有人知道是什么导致了这种情况吗 代码: String string = "1234324:Kalle" public void splitString(String string){ if (string.contains(":")) { String[] parts = string.split(":"); returnedId = parts[0]; returnedUserName
String string = "1234324:Kalle"
public void splitString(String string){
if (string.contains(":")) {
String[] parts = string.split(":");
returnedId = parts[0];
returnedUserName = parts[1];
System.out.println(returnedUserName + " this gets printed on a new line");
} else {
throw new IllegalArgumentException("String " + string + " does not contain :");
}
}
这在我的UI中造成了一些不必要的问题,我是否可以解决这些问题 在拆分之前添加以下内容:
string = string.replaceAll("(\\r|\\n|\\t)", "");
这将删除所有CRLF或TAB ASCII字符。为什么要这样做?
几乎可以肯定,在您的输入中,冒号后面有一个换行符
我怎样才能修好它?
接受正则表达式。您可以使用(可选)冒号周围的空白,如
String[] parts = string.split("\\s*:\\s*");
此代码不会在
returnedUserName
中生成换行符。你确定这就是你正在运行的代码吗?也许string
的末尾原来有一个换行符?检查原始字符串中的换行符并将其删除。我也尝试了该代码,但除了println之外没有新行。是的,你是对的,它来自服务器,不知道为什么,但它现在可以使用T McKeown的答案