String split 分隔字符串,多个分隔符、正则表达式学习示例

import java.util.Arrays;

import org.junit.Test;

/**
 * 通过几个例子学习String split方法
 * 尤其是记住使用多个分隔符的方式
 * @author lzg
 *
 */
public class StringSplitTest {

	/**
	 * 待分隔的字符串全是由分隔符组成
	 */
	@Test
	public void test1(){
		String str = ",,,,,,";
		String [] strArray = str.split(",");		

		System.out.printf("length: %d \n",strArray.length);
		//length: 0
		System.out.printf("content: %s",Arrays.toString(strArray));
		//content: []

	}

	/**
	 * 若有多个分隔符,需放在中括号之中
	 */
	@Test
	public void test2(){
		String str = ",,:,;,";
		String [] strArray = str.split("[,;:]");

		System.out.printf("length: %d \n",strArray.length);
		//length: 0
		System.out.printf("content: %s",Arrays.toString(strArray));
		//content: []

	}

	/**
	 * 左侧遇到非分隔字符前,分隔后内容为空也会保留。最右侧分隔后的内容若为空会忽略
	 */
	@Test
	public void test3(){
		String str = ",ab,cd,efgh,,,";
		String [] strArray = str.split(",");	

		System.out.printf("length: %d \n",strArray.length);
		//length: 4
		System.out.printf("content: %s",Arrays.toString(strArray));
		//content: [, ab, cd, efgh]

	}

	/**
	 * 左侧遇到非分隔字符前,分隔后内容为空也会保留。最右侧分隔后的内容若为空会忽略
	 */
	@Test
	public void test4(){
		String str = ",ab,cd:efgh,;,";
		String [] strArray = str.split("[,;:]");

		System.out.printf("length: %d \n",strArray.length);
		//length: 4
		System.out.printf("content: %s",Arrays.toString(strArray));
		//content: [, ab, cd, efgh]

	}

	/**
	 * 若分隔符为正则表达式的特殊字符,则需进行转义
	 */
	@Test
	public void test5(){
		String str = "*ab*cd*efgh***";
		String [] strArray = str.split("\\*");	

		System.out.printf("length: %d \n",strArray.length);
		//length: 4
		System.out.printf("content: %s",Arrays.toString(strArray));
		//content: [, ab, cd, efgh]

	}

	/**
	 * 分隔符为正则表达式的特殊字符,则需进行转义。若中括号本身为分隔符,则需进行转义
	 */
	@Test
	public void test6(){
		String str = "*ab+cd^efgh[[[";
		String [] strArray = str.split("[\\*\\+\\[^]");	

		System.out.printf("length: %d \n",strArray.length);
		//length: 4
		System.out.printf("content: %s",Arrays.toString(strArray));
		//content: [, ab, cd, efgh]
	}

	/**
	 * 多个分隔符之间可以用|分隔,也可以不用。若|为分隔符,则需进行转义
	 */
	@Test
	public void test7(){
		String str = "*ab+cd^efgh[[[";
		String [] strArray = str.split("[\\*|\\+|\\[|^]");	

		System.out.printf("length: %d \n",strArray.length);
		//length: 4
		System.out.printf("content: %s",Arrays.toString(strArray));
		//content: [, ab, cd, efgh]
	}

	/**
	 * 使用标准的正则
	 */
	@Test
	public void test8(){
		String str = "*ab+cd^efgh----234---[[.....[";
		String [] strArray = str.split("\\W+"); //注意正则表达式所代表的含义	

		System.out.printf("length: %d \n",strArray.length);
		//length: 5
		System.out.printf("content: %s",Arrays.toString(strArray));
		//content: [, ab, cd, efgh, 234]
	}

	/**
	 * split还有一种带限制的方式,可以指定最多匹配出多少个串
	 */
	@Test
	public void test9(){
		String str = "*ab+cd^efgh----234---[[.....[";
		String [] strArray = str.split("\\W+",3); //限制最多匹配出3个串	

		System.out.printf("length: %d \n",strArray.length);
		//length: 3
		System.out.printf("content: %s",Arrays.toString(strArray));
		//content: [, ab, cd^efgh----234---[[.....[]
	}

}
时间: 2024-10-17 09:26:10

String split 分隔字符串,多个分隔符、正则表达式学习示例的相关文章

SQL自定义函数split分隔字符串

SQL自定义函数split分隔字符串 一.F_Split:分割字符串拆分为数据表 Create FUNCTION [dbo].[F_Split] ( @SplitString nvarchar(max), --源字符串 @Separator nvarchar(10)=' ' --分隔符号,默认为空格 ) RETURNS @SplitStringsTable TABLE --输出的数据表 ( [id] int identity(1,1), [value] nvarchar(max) ) AS BE

C#的String.Split 分割字符串用法详解的代码

代码期间,把代码过程经常用的内容做个珍藏,下边代码是关于C#的String.Split 分割字符串用法详解的代码,应该对码农们有些用途. 1) public string[] Split(params char[] separator)2) public string[] Split(char[] separator, int count)3) public string[] Split(char[] separator, StringSplitOptions options)4) public

String.split()分割字符串

string.split(s[, sep[, maxsplit]]) Return a list of the words of the string s. If the optional second argument sep is absent or None, the words are separated by arbitrary strings of whitespace characters (space, tab, newline, return, formfeed). If th

【lua】lua string.match 和 string.split 从字符串中寻找特定字符串并保存

local string = "{1,2,3,4}" local traString=string.match(string , "%d+,%d+,%d+,%d+") --此时tranString = "1,2,3,4",去掉"{","}" string = string.split(tranString , ",") string = {1,2,3,4} string[1]=1 str

C#中Split分隔字符串的应用(C#、split、分隔、字符串)<转>

1.用字符串分隔: using System.Text.RegularExpressions; string str="aaajsbbbjsccc";string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);foreach (string i in sArray) Response.Write(i.ToString() + "<br>");输出结果:aaabbbccc 

Java String.split()用法小结

它是java.lang包中的String.split()方法,返回是一个数组 总结一下,仅供大家参考:1.如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");2.如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");“.”和“|”都是转义字符,

java String.split方法是用注意点(转)

转自:http://www.blogjava.net/fanyingjie/archive/2010/08/05/328059.html 在java.lang包中有String.split()方法,返回是一个数组我在应用中用到一些,给大家总结一下,仅供大家参考: 1.如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split("."); 2.如果用“|”作为分隔的话,必须是如下写法:Stri

iOS NSString 字符串处理:截取字符串、匹配字符串、分隔字符串

用到老是要去找,还是记下来方便!!! 1.截取字符串 NSString*string [email protected]"tate_zwt";string = [string substringToIndex:3];//截取下标7之后的字符串WTLog(@"截取的值为:%@",string); 2.匹配字符串NSString*string [email protected]"tate_zwt";NSRangerange = [stringrang

Python正则表达式学习摘要及资料

摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2,4}? 只匹配 2 个 a. ^表示行的开头,^\d表示必须以数字开头. $表示行的结束,\d$表示必须以数字结束. 你可能注意到了,py也可以匹配'python'-->py;但是加上^py$就变成了整行匹配,就只能匹配'py'了,匹配'python'时,就什么也得不到. 参考表 正则表达式特殊序