Java 使用拆分时应如何处理空格字符

Java 使用拆分时应如何处理空格字符,java,regex,file,split,Java,Regex,File,Split,显然,当我使用S.split(“”时,我的代码文件中有“”(空格),它会被忽略。我想知道是否有办法克服这个问题。我所想的和在下面代码中编写的内容不起作用,但是它适用于所有其他字符 String codeArr[] =code.split("\\r?\\n"); int k=0; while (k<codeArr.length-1) { String[] tmpCode=codeArr[k].s

显然,当我使用
S.split(“”
时,我的代码文件中有
“”
(空格),它会被忽略。我想知道是否有办法克服这个问题。我所想的和在下面代码中编写的内容不起作用,但是它适用于所有其他字符

String codeArr[] =code.split("\\r?\\n");           
        int k=0;
        while (k<codeArr.length-1)
        {


            String[] tmpCode=codeArr[k].split(" ");

            if (tmpCode.length!=2)
                HuffCodeToCh.put(tmpCode[0]," ");
            else 
                HuffCodeToCh.put(tmpCode[1],tmpCode[0]);
            k+=1;
        }
我想将字符及其二进制代码保存在hashMap中,如代码所示。但是,我上面编写的代码没有将
保存在hashmap中。我不知道如何修复它。

使用

试试这个:

codeArr[k].split(" (?=\\S)");
所以

x 100 -> {"x","100"}
  100 -> {" ","100"}
   11 -> {"  ", "11"} (two spaces)

具体来说,整个循环就是:

for (String line : code.split("\\r?\\n"))
  HuffCodeToCh.put("" + line.charAt(0), line.substr(2));

一个基本不相关的注意事项是,您的变量
HuffCodeToCh
没有遵循Java命名约定,这强烈建议为类型保留首字母大写。

您能给我一个提示,而不是盲目地投反对票吗?而不是投反对票的人。。它被忽略了,这是错误的
split()
根据传递的正则表达式拆分行,并返回数组-1、错误的代码格式(缩进混乱、垂直空格混乱、运算符周围没有空格)、无法识别调试工作……在char/line/regex上拆分时,结果数组将不包含您拆分的内容并不是它解决了任何问题,而是为什么您先读取文本,然后拆分其行,而不是在读取时处理每一行?扫描仪方法
hasNextLine()
nextLine()
在这里可能非常有用。
x 100 -> {"x","100"}
  100 -> {" ","100"}
   11 -> {"  ", "11"} (two spaces)
for (String line : code.split("\\r?\\n"))
  HuffCodeToCh.put("" + line.charAt(0), line.substr(2));