split方法

第二次作业对于统计单词次数刚开始理解错题意了,还以为是两个单词之间用空格隔开,后来才知道就是简单用indexOf来查找即可,在写错的过程中查询了一些有关split函数的用法,整理下来。

1.java.lang.string.split,即split 方法,它实现的功能是将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 格式为:

stringObj.split([separator,[limit]]) 
其中stringObj是必选项,表示要被分解的
String 对象或文字。该对象不会被 split 方法修改。 separator
为可选项,表示字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
limit 为可选项,该值用来限制返回数组中的元素个数。 值得注意的是: split 方法的结果是一个字符串数组,在 stingObj
中每个出现 separator 的位置都要进行分解,separator 不作为任何数组元素的部分返回。

返回值为一个String数组。

2.几个常见例子

(1). String str = "123 456 789 111";
String [] strArray = str.split("s");
这里的s代表的是一个空格 因为正则表达式\s匹配任意的空白
(2).String str = "123 456 789 111";
String [] strArray = str.split(" ");
(3).多个空格,不管有多少空格就分隔
String str = "123 456 789 111";
String [] strArray = str.split("s+");

3.由于部分符号在正则表达式之中会有一些问题

特殊情况有 * ^ : | . \

上面的符号在正则表达式之中有特殊的含义,因此要作为split函数参数时必须加上转义\\

  • String address="上海\上海市|闵行区\吴中路"; (注意两个反斜线代表着反斜线,即以\分割只需打两个即可)
String[] splitAddress=address.split("\\");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
  • String address="上海|上海市|闵行区|吴中路";
String[] splitAddress=address.split("\\|"); //如果以竖线为分隔符,则split的时候需要加上两个斜杠【\\】进行转义
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
  • String address="上海*上海市*闵行区*吴中路";
 String[] splitAddress=address.split("\\*");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
时间: 2025-01-12 06:14:29

split方法的相关文章

文章生成器,Split方法截取字符串。从硬盘读取文件,和向硬盘存储文件参考代码

string x, y; private void button2_Click(object sender, EventArgs e) { textBox2.Clear(); if (button4.Enabled == false) { string[] shuzu = y.Split(new char[]{'.'}); //用split方法截取字符串 string news = ""; // 将截取字符串后的语句打乱顺序 for (int i = 0; i < shuzu.L

Java split方法源码分析

Java split方法源码分析 1 public String[] split(CharSequence input [, int limit]) { 2 int index = 0; // 指针 3 boolean matchLimited = limit > 0; // 是否限制匹配个数 4 ArrayList<String> matchList = new ArrayList<String>(); // 匹配结果队列 5 Matcher m = matcher(inp

string.split()与re.split()方法区别

re模块的split()方法与字符串的split()方法相似,前者是根据 正则表达式模式 分隔字符串,后者是根据 固定的字符串 分割,因此与后者相比,显著提升了字符分割的能力. 如果分隔符没有使用由特殊符号表示的正则表达式来匹配多个模式,那 re.split()和 string.split()的执行过程是一样的. string.split()与re.split()方法区别,布布扣,bubuko.com

String的split()方法探索和大揭秘

其实没打算写这么一篇博文的,但是昨天在逛论坛的时候,发现一帖子,然后我又把帖子的内容在群里发了一通,结果出现了让人惊讶的结果,所以这里简单的给大家分享一下split()方法,免得大伙儿以后还会出现这种基本知识错误! 接着说一下,昨天看到的帖子内容: String[] str1 = ";;;".split(";"); String[] str2 = ";a;;".split(";"); String[] str3 = "

C#split()方法使用

    C#split()方法使用 split函数是一种用来截取字符串的函数,使用方法如下 1.单字符串截取:   string str="1,2,3,4";   string[] str1=str.split(','); 结果为:   1   2   3    4 2.多字符串截取:   string str="1,2,3.4";   string[] str1=str.split(new char[2]{',','.'}); 结果为:   1   2   3  

java中String对象的split方法

在java.lang包中有String.split()方法,返回是一个String[]数组,今天碰到一个自己没注意的问题: 1.特殊分隔符 String str1 = "123|456|789"; System.out.println(str1.split("|")[0]); 结果是1 这里要注意的是"|"作为分隔符要写成这样 System.out.println(str1.split("\\|")[0]); 同理如果用&qu

C# String.split()用法小结。String.Split 方法 (String[],?StringSplitOptions)

split()首先是一个分隔符,它会把字符串按照split(' 字符')里的字符把字符串分割成数组,然后存给一个数组对象. 输出数组对象经常使用foreach或者for循环. 第一种方法 string s=abcdeabcdeabcde; string[] sArray=s.Split('c') ; foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab deab deab de 第二种方法 我们看到了结果

sqlserver字符串拆分(split)方法汇总

--方法0:动态SQL法 declare @s varchar(100),@sql varchar(1000) set @s='1,2,3,4,5,6,7,8,9,10' set @sql='select col='''+ replace(@s,',',''' union all select ''')+'''' PRINT @sql exec (@sql) --方法1:循环截取法 if exists (select * from dbo.sysobjects where id = object

js数组声明+split()方法

split()方法:var words = sentence.split(' '): "hello".split("", 3) //可返回 ["h", "e", "l"] 数组声明:方法一:var a = new array();a[0] = "1";a[1] = 2;a[2] = { x:1, y:3};方法二:var  a  =  new array("1" ,

split方法在低版本IE浏览器上无法解析的问题

今天在项目中发现一个很诡异的问题,通过js获取cookie时,发现赋给用户name的时候IE9和低于9以下的浏览器对比时获取到的名字不一样,通过调试发现是split方法在解析||时当值为空时就会出现被“吃掉”的问题. 当我们在开发的过程想要对特定的字符进行分割,首相想到的就是使用split函数,这样是一个效率非常高的方法.但是让人叹息的是该方法虽然可以在Chrome和Firefox正常运作,但是在低版本IE浏览器却无法正常工作,IE9及以上版本都没有问题.split方法是支持正则表达式的,ES中