TL_cow
oldL_cow
采纳率100%
2018-03-29 06:30

java截取字符串问题,多个空格截取

5
已采纳

字符串格式如下

2018-01-15 11:02 10240 10240 360浏览器\360se6\User Data\Default\apps\LoginAssis\assis2.db
2018-01-15 11:02 0 0 360浏览器\360se6\User Data\Default\apps\LoginAssis\assis2.db-journal
2018-03-08 15:17 787 787 360浏览器\360se6\User Data\Default\apps\plugin_icons
需要截取文本最后一个属性值,虽然中间有多个空格可以用line.split("\s+")分割来截取,但是会后一个属性值中间也有空格,比如User Data,如果以空格就会把最后一个属性值分两个了,请问各位大神如何处理

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • zjhken KenenthZhang 3年前

    用Apache Commons Lang3的StringUtils类

     import org.apache.commons.lang3.StringUtils;
     //... 省略
     String[] ss = StringUtils.splitByWholeSeparator(line, " ", 5);
    

    line就是那一行String
    最后那个参数5就是你想要split的份数, 它split到那么多份时就不继续了

    点赞 1 评论 复制链接分享
  • qq_38483101 qq_38483101 3年前

    String[] ss = StringUtils.splitByWholeSeparator(line, " ", 5);

    点赞 评论 复制链接分享
  • yax405 一个热爱bug的程序猿 3年前

    从你提供的数据来看,最后一个属性值有特别之处:空格前后都是字母,思路如下:使用正则匹配字母结束和开头的空格,把这部分空格先替换成一个特殊字符,比如:*;在通过普通的空格截取,最后把*换成空格

    点赞 评论 复制链接分享