浅析Java中Split函数的用法技巧
如执行:"2|33|4".split("|")
出来的结果是:
""
2
3
3
4
奇怪吧,不过注意看一下API说明还是知道原因的.
java.lang.string.split
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
参数
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
limit
可选项。该值用来限制返回数组中的元素个数。
说明
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解
所以正常的写法是这样的:
1、如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
2、如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");
“.”和“|”都是转义字符,必须得加"\\";
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“a=1 and b =2 or c=3”,把三个都分隔出来,可以用String.split("and|or");
相关推荐
-
Java中String.split()用法小结
在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1.如果用"."作为分隔的话,必须是如下写法,String.split("\\."),这样才能正确的分隔开,不能用String.split("."); 2.如果用"|"作为分隔的话,必须是如下写法,String.split("\\|"),这样才能正确的分隔开,不能用String.s
-
java用split分割字符串的一个有趣现象
下面有段代码: String str="1#2#3"; String[] strs=str.split("#"); System.out.println(strs.length); ok,上面这段代码最终输出结果是2,这没有问题,但是如果换成下面的写法呢,请看: String str="##"; String[] strs=str.split("#"); System.out.println(strs.length); 结果输
-
java split用法详解及实例代码
public String[] split(String regex) 默认limit为0 public String[] split(String regex, int limit) 当limit>0时,则应用n-1次 public static void main(String[] args) { String s = "boo:and:foo"; String[] str = s.split(":",2); System.out.print(str[0]
-
Java的split方法使用详解
相信大家都经常使用String 的split方法,但是大家有没有遇到下面的这种情况: 大家想想下面的代码执行结果是什么 public static void main(String[] args) { // TODO Auto-generated method stub String str1 = "a,b,c,,,a"; String str2 = "a,b,c,,,"; String str3 = "a,b,c, , ,"; String[]
-
Java 正则表达式详解
如果你不熟悉这个术语,那么"正则表达式"(Regular Expression)就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式. 正则表达式30分钟入门教程 常用正则表达式 许多语言,包括Perl.PHP.Python.JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级"搜索-替换"功能.那么Java又怎样呢?本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification R
-
Java 正则表达式匹配模式(贪婪型、勉强型、占有型)
Greediness(贪婪型):最大匹配 X?.X*.X+.X{n,} 是最大匹配.例如你要用 "<.+>" 去匹配 "a<tr>aava </tr>abb",也许你所期待的结果是想匹配 "<tr>",但是实际结果却会匹配到 "<tr>aava </tr>. 在 Greediness 的模式下,会尽量大范围的匹配,直到匹配了整个内容,这时发现匹配不能成功时,开始回退
-
Java正则表达式之split()方法实例详解
本文实例讲述了Java正则表达式之split()方法.分享给大家供大家参考,具体如下: 1.方法介绍 (1)public String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串 (2)public String[] split(String regex,int limit) 根据匹配给定的正则表达式来拆分此字符串 2.方法实例 /** * @Title:Split.java * @Package:com.you.data * @Description:Ja
-
java的split方法使用示例
复制代码 代码如下: package com.lihua.test; public class Test { /** * @param args */ public static void main(String[] args) { String str = "abcdefghij"; String array[] = str.split(""); for (int i = 1; i < array.length; i++) { System.ou
-
java 中用split分割字符串,最后的空格等不被拆分的方法
在使用java中的split按照"\t",拆分字符串的时候,发现如果最后的几个字段是空,只是用\t分割,是连着的\t的话,就不会被分割,如 "d\tc\te\t\t\t"最后的几个\t就不会被分割,应该是在拆分之前对字符串进行了处理. 导致的拆分字段个数错误.查了一下APi,需要在split中添加参数-1,String[] values = line.split("\t",-1); imit 参数控制应用模式的次数,从而影响结果数组的长度 如果限
-
Java Swing中的工具栏(JToolBar)和分割面版(JSplitPane)组件使用案例
一:工具栏(JToolBar) 代码示例: 复制代码 代码如下: import javax.swing.*; //工具栏的使用案例 public class JToolBarDemo2_jigloo extends javax.swing.JFrame { private JToolBar myJToolBar; private JButton jB_file; private JButton jB_edit; private JButton jB_tools; private JBut
-
PL/SQL实现JAVA中的split()方法的例子
众所周知,java中为String类提供了split()字符串分割的方法,所以很容易将字符串以指定的符号分割为一个字符串数组.但是在pl/sql中并没有提供像java中的split()方法,所以要想在pl/sql中实现字符串的分割还需要自己动手.由于在项目中需要用到此类方法,所以自己研究了一下,方便以后参考.这里以逗号作为分隔符为例,代码如下: declare v_str varchar2(200) := 'abd,324,u78,23f,sd09,2345,dsaf,9079'; type s
-
浅谈java String.split丢失结尾空字符串的问题
java中的split函数用于将字符串分割为字符数组是很方便的,但由于不是很熟悉,犯了错误 如下: String strtest = "1,2,"; String arry[] = strtest.split(","); 这样得到的数组元素个数只是2两个,为什么呢,最后一个","后没有内容,它没有作为空字符串成为第三个数组元素,结尾的空字符串被丢弃了! 这个函数还有另一种重载方式 :public String [] split (String
随机推荐
- Java数据结构之有效队列定义与用法示例
- 基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
- Powershell错误处理之what-if
- linux Shell学习笔记第四天
- Oracle的数据表中行转列与列转行的操作实例讲解
- Python3实现抓取javascript动态生成的html网页功能示例
- 解析thinkphp的左右值无限分类
- php牛逼的面试题分享
- php计算两个日期时间差(返回年、月、日)
- C#简单获取时间差的小例子
- C语言for语句用法详解
- JavaScript常用本地对象小结
- jQuery 2.0.3 源码分析之core(一)整体架构
- jQuery Mobile的loading对话框显示/隐藏方法分享
- 获得leadbbs论坛站webshell后进后台最简便之法
- Java函数式编程(六):Optional
- 实例详解Android解决按钮重复点击问题
- c++中虚函数和纯虚函数的作用与区别
- 利用C++实现双链表基本接口示例代码
- Vue三种常用传值示例(父传子、子传父、非父子)