qdwangqun 2009-04-18 16:06
浏览 471
已采纳

如何用java分隔带"\t"的字符串

现在有一字符串
"a b c d "

分隔符为 \t

但用java的split和StringTokenizer分隔后,显示的字符长度为4

请问如何解决该问题,谢谢。

 


问题补充:
应该是11呀,不应该是4,你可能少看了我的问题

"a b c d "后面有很多\t分隔符

问题补充:
还是不行呀,总是少掉最后一个字符

"BODY 134 1008 20090401000000 02 0 0 0"
这个字符串,用lovewhzlq给的方法总是少掉最后一个0,长度应该是16,但解析后的结果确是15,是哪里的原因呢?

  • 写回答

3条回答 默认 最新

  • wanghaolovezlq 2009-04-18 17:40
    关注

    [code="java"]
    用这种方法可以正确得到

    import java.util.*;
    import java.util.regex.*;

    public class Split {
    public static void main(String[] args)
    {
    String str = " a b c d ";
    Pattern p = Pattern.compile("\t");

        Matcher m = p.matcher(str);
    
        //保存结果数组
        List<String> ret = new ArrayList<String>();
        //临时变量
        String temp = null;
        int index = 0;
        while(m.find())
        {
            int start = m.start();
    
            temp = str.substring(index, start);
            ret.add(temp);
    
            index = m.end();
    
        }
    
        System.out.println(ret);
    }
    

    }

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题