java中split方法的用法

想搞清楚这个问题的原因就是我无法把一个文本里的单词全部给找出来,因为接触C++的时候记得好像regex可以有好多个字符组成,这样就可以通过,。!和空格等标点来分割文本了,但是split的方法所接受的参数只有String类型的regex和int类型的limit,limit用来表示最多可以将字符串分成多少部分。后来通过在网上查找资料才知道原来String类型的regex可以由多部分组成,每个部分分别由 | 隔开,对于可能要出现的* + .等符号,可能需要 \\ 的转义,具体注意事项有以下几个部分:

1.首先 . * + | 都是关键字符,用它们分割的话必须用\\进行转义

2.多个分割字符进行连接是需要用到 | 字符

3.如果用 \作为分隔符,就得写成:str.split("\\\\"),因为在java中是用“\\"来表示”\"的,字符串写成这样:String str=“a\\b\\c";

栗子一枚:

String str1=new String("hello+world|I'm*mnmlist.sting");
		String regexString=" |,|\\.|\\*|\\+|\\|";
		String arr1[]=str1.split(regexString);
		for(int i=0;i<arr1.length;i++)
			System.out.println(arr1[i]);
时间: 2024-11-07 09:19:40

java中split方法的用法的相关文章

Java中Split函数的用法技巧

在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧.如执行:"2|33|4".split("|") 出来的结果是: "" 2 | 3 3 | 4 奇怪吧,不过注意看一下API说明还是知道原因的. java.lang.string.split split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separat

正则化—Java中Split函数的用法技巧_(转载修改)

原文地址:http://www.cnblogs.com/liubiqu/archive/2008/08/14/1267867.html java.lang.string.split split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separator,[limit]]) 参数 stringObj 必选项.要被分解的 String 对象或文字.该对象不会被 split 方法修改. separator 可选项.字符串或 正则表达式对象,它

Java中Split函数的用法技巧[转载]

在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧.如执行:"2|33|4".split("|") 出来的结果是: "" 2 | 3 3 | 4 奇怪吧,不过注意看一下API说明还是知道原因的. java.lang.string.split split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separat

java中sort()方法的用法

在java.util.Collections类中有个sort()方法,主要是用来给数组排序,排序的规则可以自己重写. (一)给数组{2,3,1,5}按自小到大排序 public class Main{ public static void main(String[] args){ ArrayList<Integer> list=new ArrayList<>(); list.add(2); list.add(3); list.add(1); list.add(5); Collect

java String.split()函数的用法分析

在java.lang包中有String.split()方法的原型是:public String[] split(String regex, int limit)split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,函数返回是一个数组.在其中每个出现regex的位置都要进行分解.需要注意是有以下几点:(1)regex是可选项.字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符.如果忽略该选项,返回包含整个字符串的单一元素数组.(2)limit也是可选项.

java中Object.equals()简单用法

/* equals()方法默认的比较两个对象的引用! */ class Child { int num; public Child(int x){ num = x; } //人文的抛出运行时异常的好处是:可以自定义错误信息! /*public boolean equals(Object o) throws ClassCastException{ if(!(o instanceof Child)) throw new ClassCastException("中文提示:类型错误"); Ch

关于java中split的使用

之前在博客中已经叙述过这个问题,但是最近一次笔试中居然有碰到了这个知识点,而且还做错了,囧!学艺不精啊.题目大概是这样的: Java代码 String s2="this is a test"; String sarray[]=s2.split("/s"); System.out.println("sarray.length="+sarray.length); 这个输出是什么还是编译出错?我想那个split方法中的参数要是"s"

Java中static、final用法小结(转)

一.final 1.final变量: 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变.其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中.这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给另外的值. 当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的

Java中Date各种相关用法

Java中Date各种相关用法(一) 1.计算某一月份的最大天数 Java代码 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0 int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数 注:在使用set方法之前,必须