Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java String.split导致最后一个索引上出现换行符_Java_String - Fatal编程技术网

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的答案