`
colorlife
  • 浏览: 130229 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java String.split 分隔符问题

阅读更多

http://www.sobuyer.cn/?p=45

 

 

今天开发,遇到了一个比较意外的问题。

1、问题描述:

       String.split(”.”);//以点作为分隔符

      结果得到的数组引用时,老报下标越界错误,后来测试也发现长度就是为零。

2、问题分析:

     开始时,怀疑此种分隔符是一种特殊的字符,莫非是要转义。于是加了两个斜杠,即:String.split(”\\.”),测试通过。

   3、总结如下:

    1)、是点和|作为分隔符,出现此种错误,因为在在split(表达式)中,表达式其实是一个正则表达式,.和|是一种有特殊含义的字符,如果要使用此种字符作为分隔符,要使用转义字符加以转义方可得到正确结果。

   2)如果想要使用多个分隔符,可以使用|分隔开,比如使用 @和?作为分隔符,即为String.split(”@|?);

    3)使用String.split(””)时,往往容易忽略的一个地方就是分割的字符数组中,示例:“a/b/c////”.split(”/”)的长度不是6,而是3,因为分割后,java中会从后面开始检查所得的数组,把空的去掉,返回非空的3个数组。

分享到:
评论

相关推荐

    leetcode添加元素使和等于-LeetCode:LeetCode解决方案和技巧

    split("分隔符的选择"); 除撇号外,所有非字母数字的Java字符串拆分 // 用除英文字符以外的所有符号 分割 words= Str.split("\\W+"); words = Str.split("[^\\w']+"); // 非特殊英文字符 words = Str.split("[^a-zA-...

    java字符串转数组.docx

    在Java中,将字符串转换为数组可以通过以下几种方式实现: ...这个方法将字符串根据指定的分隔符分割成字符串数组。 示例:String[] stringArray = str.split(","); 使用java.util.Arrays类的copyOfRange()方法:

    java实现的文件复制

    //split()方法按照指定的分隔符拆分字符串为字符数组 String[] c = command.split(" "); String pathName = c[1]; String target_path = c[2]; FileUtil fileUtil = new FileUtil(); //读取文件 ...

    一个java正则表达式工具类源代码.zip(内含Regexp.java文件)

    以前写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 ...

    SpringMVC批量上传

    //以逗号为分隔符进行截取 String re = remark; String[] stre = re.split(","); UploadFile uploadFile = new UploadFile(); //转成文件上传请求 MultipartHttpServletRequest murequest = ...

    it-leetcode

    // 分隔符 切分String [] cpinfo = domain . split( " \\ s+ " );// 特殊符号远点 切分String [] frags = cpinfo[ 1 ] . split( " \\ . " );String s = " aaabb " ;int k = 3 ;StringBuilder sb = new StringBuilder...

    string类的常用方法.zip

    根据指定的分隔符将字符串分割成一个列表。 5. replace() 替换字符串中的某些字符或子串。 6. find(), index() 查找子串在字符串中的位置。如果找不到,find() 返回 -1,而 index() 会抛出异常。 7. count() ...

    StringTokenizer的使用

    StringTokenizer(String str)默认分隔符delim是 " \t\n\r\f",returnDelims是false) 遍历的api中注意,hasMoreElements()等于hasMoreTokens(); nextElement()等于nextToken()。可以 看源码验证。 ...

    ORACLE,mysql,sqlserver,sybase数据库装文本软件

    3.支持任意字符串作为每行分隔符,例如\r,\r\n,或者十六进制字符或任意指定的字符串(例如可实现把整个日志文件装入数据库的单个clob字段). 4.支持任意大小的文本,装入几十GB都试过没问题。 5.明确到每一行的错误信息....

    freemarker总结

    JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>......

    Java-PHP-C#

    转义符号除了用于分隔符外还可以执行特殊字符,全部由字母构成的特殊字符都需要"\"来转义,比如"\d"代表全体数字。 4 正则表达式的特殊字符: 正则表达式中的特殊字符分为元字符、定位字符等等。 元字符是...

    Ext Js权威指南(.zip.001

    1.2.6 在java中使用json / 12 1.2.7 更多有关json的信息 / 15 1.3 ext js 4概述 / 15 1.4 ext js的开发工具的获取、安装与配置介绍 / 18 1.4.1 ext designer / 18 1.4.2 在visual studio中实现智能提示 / 23 ...

    正则表达式

    符.但是,它要求开始和结束的引号匹配(例如两个都是双引号或者都是单引号): /[' "] [^ ' "]*[' "]/ 如果要求开始和结束的引号匹配,我们可以使用如下的引用: /( [' "] ) [^ ' "] * \1/ \1匹配的是第一个代括号...

    JavaScript笔记

    如果省略该参数,则使用逗号作为分隔符 |--2.toString()方法--可把数组转换为字符串,并返回结果 |--3.concat()方法--用于连接两个或多个数组,该方法不会改变现有的数组 |--4.slice()方法--截取元素。根据给定的...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    )来分隔语句。那些从HTML中分离出来的标志也表示语句的结束。 注释 PHP支持C,C++和Unix风格的注释方式: /* C,C++风格多行注释 */ // C++风格单行注释 # Unix风格单行注释 Hello,World! 通过我们已经学过的...

Global site tag (gtag.js) - Google Analytics