java 读取文本后 分割成一个字符串数组问题。 java字符串分割 Sting count 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给 | 转义 String stringAb = new String("CALL_ID|AH|34"); String[] strings = stringAb.split("\\|"); for (String str : strings) { System.out.println(str); }结果CALL_IDAH34 字符串是这样分割。不是分割的问题。是分割后算一个字符串的count有问题,明明是7它却是8。好像是编码的问题。我用的windows记事本转的编码。转后的编码好像是utf-8 +bom而不是utf-8。不知道为什么java不支持utf-8 +bom。 长度应该没问题,楼主可以再试试 String stringAb = new String("CALL_ID|AH|34"); String[] strings = stringAb.split("\\|"); for (String str : strings) { System.out.println(str.length()); }结果722 长度应该没问题,楼主可以再试试 String stringAb = new String("CALL_ID|AH|34"); String[] strings = stringAb.split("\\|"); for (String str : strings) { System.out.println(str.length()); }结果722不是长度问题。你把CALL_ID|AH|34 放到txt文档里。然后另存为utf-8格式。再读出来分割。 "CALL_ID".equals(strings [0])结果为false。 楼主换个编辑器试试,换个notepad++,或editplus试试。我之前遇到过类似的情况,在notepad++ 里面输入一段字符串,然后分割后第一个字符串前面总有一个空格。但是 如果用windows默认的记事本的notepad记事本输入的话,就没有那个空格了。如果这个还有问题的话,那应该就是编码格式的问题了。 楼主换个编辑器试试,换个notepad++,或editplus试试。我之前遇到过类似的情况,在notepad++ 里面输入一段字符串,然后分割后第一个字符串前面总有一个空格。但是 如果用windows默认的记事本的notepad记事本输入的话,就没有那个空格了。如果这个还有问题的话,那应该就是编码格式的问题了。是的。已经试出来了。这个太坑爹了。一种格式,两种情况。 UTF-8 with BOM前3个字节必然是EFBBBF,它不是文件内容,所以你读的时候要去掉或者你不要用记事本编辑,换个能用UTF-8无BOM的,比如Editplus,或者你直接用Winhex这种软件把前面三个字节删除。。 大侠们 谁可不可以发一个比较新的ssh整合的jar包给我啊 SSH整合问题 接口不实现方法,但我却在程序中可以调用接口的方法,这是为什么 怎样实现一个Servlet.response()实现两次转发? jsp 脚本调用exe程序 框架 应该如何开发Java邮件系统 spring关闭数据库连接问题 请大家谈谈对STRUTS HMLT标签的看法,本人更习惯用dreamwear来做页面(其不支持struts标签)! idleMonitor 初学Struts,请教一个ActionContext问题 跪求用友北京java研发的工资和待遇如何?
String[] strings = stringAb.split("\\|");
for (String str : strings) {
System.out.println(str);
}结果CALL_ID
AH
34
字符串是这样分割。不是分割的问题。是分割后算一个字符串的count有问题,明明是7它却是8。
好像是编码的问题。我用的windows记事本转的编码。转后的编码好像是utf-8 +bom而不是utf-8。不知道为什么java不支持utf-8 +bom。
String[] strings = stringAb.split("\\|");
for (String str : strings) {
System.out.println(str.length());
}结果7
2
2
String[] strings = stringAb.split("\\|");
for (String str : strings) {
System.out.println(str.length());
}结果7
2
2
不是长度问题。你把CALL_ID|AH|34 放到txt文档里。然后另存为utf-8格式。再读出来分割。 "CALL_ID".equals(strings [0])结果为false。
我之前遇到过类似的情况,在notepad++ 里面输入一段字符串,然后分割后第一个字符串前面总有一个空格。
但是 如果用windows默认的记事本的notepad记事本输入的话,就没有那个空格了。如果这个还有问题的话,那应该就是编码格式的问题了。
我之前遇到过类似的情况,在notepad++ 里面输入一段字符串,然后分割后第一个字符串前面总有一个空格。
但是 如果用windows默认的记事本的notepad记事本输入的话,就没有那个空格了。如果这个还有问题的话,那应该就是编码格式的问题了。是的。已经试出来了。这个太坑爹了。一种格式,两种情况。
或者你不要用记事本编辑,换个能用UTF-8无BOM的,比如Editplus,或者你直接用Winhex这种软件把前面三个字节删除。。