String[] split(String regex)
根据给定的正则表达式的匹配来拆分此字符串。
注意:竖线"|" 要转义写成 "\\|",还有一些其他的特殊字符是需要转义的 如 \\. \\? 等
1.用多个标点拆分
strs = str.split("[、,。;?!,.;?!]");
strs = str.split("、|,|。|;|?|!|,|\\.|;|\\?|!|]");
2.还想保留分隔符,
笨方法:在要拆分的标点后边加一个新的拆分符,用新的拆分符拆分
//这么替换,是为了拆分后,还能保存标点符号,//可再优化 line = line.replaceAll("、", "、|"); line = line.replaceAll(",", ",|"); line = line.replaceAll("。", "。|"); line = line.replaceAll(";", ";|"); line = line.replaceAll("?", "?|"); line = line.replaceAll("!", "!|"); line = line.replaceAll(",", ",|"); line = line.replaceAll("\\.", ".|"); line = line.replaceAll(";", ";|"); line = line.replaceAll("\\?", "?|"); line = line.replaceAll("!", "!|"); strs = line.split("\\|");
3.还想单独保留分隔符,
自己写了个方法,仅供参考:
用StringBuilder,一个一个字符的去拼。
phrase = new Phrase(str,String.valueOf(ch),l+1,++no);
Phrase 是自定义类,第一个参数是短句,第二个参数是分隔符
reader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath),encoding)); //考虑到编码格式 String line; StringBuilder sb; //int num = 0; //总句码 int l=0; //行序号 while((line = reader.readLine()) != null){ //line = new String(line.getBytes("ISO-8859-1"),"UTF-8"); //System.out.println(line); //line = line.replaceAll("[,。;?!,.;?!]", "|"); line = line.replaceAll("| ", ""); sb = new StringBuilder(); String str=""; //String punctuation = ""; //line = ",abcdev,";//abcdev,asdfasdf.asfejfl;3f23f!;efefef"; char[] chars = line.toCharArray(); int no = 0; for(char ch : chars){ if(ch == 65279){ //'' //'' //65279 utf-8 bom continue; } if("、,。;?!,.;?!".indexOf(ch) == -1){ sb.append(ch); } else { //System.out.println(sb.toString()+ch); str = sb.toString(); if(str.length()>0){ phrase = new Phrase(str,String.valueOf(ch),l+1,++no); phraseList.add(phrase); } sb = new StringBuilder(); } } //后边的没标点的短句 str = sb.toString(); if(str.length()>0){ //System.out.println(str); phrase = new Phrase(str,"",l+1,++no); phraseList.add(phrase); } l++; } reader.close();
别人的解决方法
http://www.iteye.com/problems/27173
/*需要分割的文章*/ String str = "第一句。第二句!第三句:第四句;第五句。"; /*正则表达式:句子结束符*/ String regEx=":|。|!|;"; Pattern p =Pattern.compile(regEx); Matcher m = p.matcher(str); /*按照句子结束符分割句子*/ String[] words = p.split(str); /*将句子结束符连接到相应的句子后*/ if(words.length > 0) { int count = 0; while(count < words.length) { if(m.find()) { words[count] += m.group(); } count++; } } /*输出结果*/ for(int index = 0; index < words.length; index++) { String word = words[index]; System.out.println("word = " + word); }
其他的:
替换中英文空格为空
line = line.replaceAll("| ", "");
替换回车换行为空,注意中间写的是或,因为有的只有一个,有的顺序不同
line = line.replaceAll("\n|\r", "");
相关推荐
python中.split()只能用指定一个分隔符 例如: \ntext='3.14:15' print text.split('.') 输出结果如下: ['3', '14:15'] 想一次指定多个分隔符可以用re模块 import re\ntext='3.14:15' print re.split('[.:]', ...
文件目录转json格式
主要介绍了js使用split函数按照多个字符对字符串进行分割的方法,实例分析了split函数的使用技巧,非常具有实用价值,需要的朋友可以参考下
以下测试用于去除任何字符串中连线的分隔符 代码如下: –去除字符串中连续的分隔符 declare @str nvarchar(200) declare @split nvarchar(200),@times int set @str=’中 国1 2 34 55 5 6 7 7′;–字符 set @split=...
7、高效字段拆分:此函数能够迅速将字段中的多个值按逗号或其他自定义分隔符拆分成独立的行,极大地简化了对复合字段的操作过程。 使用场景: 商品分类管理:当您的商品分类信息存储在一个字段中时,此函数可以帮助...
方法1:通过str.split()方法,每次处理一个分隔符 #!/usr/bin/python3 def go_split(s, symbol): result = [s] for i in symbol: median = [] # 普通方法 # for x in result: # median.extend(x.split(i)
splitStrJS 多个分隔符作为数组拆分字符串功能(它既支持数组作为分隔符,也支持一个分隔符作为字符串) 没有本机函数或方法可以支持提供多个分隔符的数组,唯一的本机方法是使用正则表达式作为分隔符。 将split与...
NULL 博文链接:https://bijian1013.iteye.com/blog/2334967
JAVA_split_用法,split详解,记得好评哦
解决方案:使用更为灵活的re.split()方法,该方法可以为分隔符指定多个模式。 说明:字符串对象的split()只能处理简单的情况,而且不支持多个分隔符,对分隔符周围可能存在的空格也无能为力。 # example.py # # ...
主要解决,一个EXCEL表格数据,存在某列单元格数值是由指定分隔符号分隔的多个值组成的情况,需要将一行记录拆分为多行记录的需求!
在这个示例中,我们使用点号(.)作为分隔符,並指定分割两次,split() 函数将字符串 "www.baidu.com" 拆分成两个子字符串:'www' 和 'baidu.com',然后我们使用 [0] 取得第一个片段,即 'www'。 split() 函数的...
下面小编就为大家带来一篇java 中用split分割字符串,最后的空格等不被拆分的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Java中Split的用法及注意, 本文只是大概说了一下java中split的用法,其他方面要你们去查看了。
ASP里有这个Split,是这样定义的dim Split(byval source as string ,byval str as string) as string() source是源字符串,str是分隔符 我这里用了VB.net的写法,方便说明返回值的类型和参数的类型。 大家一看就...
c语言实现字符串分割split(), 实现C语言实现按分隔符来截取字符串
通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list) os.path.split():按照路径将文件名和路径分割开 一、函数说明 1、split()函数 语法:str.split(str=””,num=string.count(str))[n] 参数说明:...
java中的split的用法,里面包含几个很好的实例,很好的学习资料
这个“分隔符”可以是一个字符,也可以是多个字符组成一个字符串。 先举一个简的例子: 代码如下:string str=”aaa-bbb-ccc-ddd-eee”; string[] sArray=str.Split(new char[] {‘-‘}); foreach(string i in ...