首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在java中使用regex拆分带有项目符号的字符串(所有类型)

如何在java中使用regex拆分带有项目符号的字符串(所有类型)
EN

Stack Overflow用户
提问于 2013-08-08 15:02:51
回答 4查看 2.2K关注 0票数 0

下面是我的文字

代码语言:javascript
复制
 Welcome to java programming 1) Oops concepts a) Encapsulation A) Abstraction I) Inheritance  • Polymorphism
2)sample program on java 1.Project source code 
sample text files • sample.txt b)sam.txt

我想拆分文本基于以下模式,并删除项目符号

代码语言:javascript
复制
1)any bullet 1)I)a)A)•
2)followed by space
3)followed by uppercase word

因此,我希望生成以下结果

代码语言:javascript
复制
Welcome to java programming 
Oops concepts 
Encapsulation 
Abstraction
Inheritance  
Polymorphism
sample program on java
Project source code
Please suggest me how to do this
sample text files
sample.txt

sam.txt谢谢

EN

回答 4

Stack Overflow用户

发布于 2013-08-08 15:08:27

这将会起作用:

代码语言:javascript
复制
public static void main(String[] args) throws Exception {
    final String s = "Welcome to java programming 1) Oops concepts a) Encapsulation A) Abstraction I) Inheritance  • Polymorphism";
    final String[] split = s.split("\\s*(\\w\\)|•)\\s*");
    for (final String bullet : split) {
        System.out.println(bullet);
    }
}

正则表达式是

代码语言:javascript
复制
\\s*(\\w\\)|•)\\s*

  • \\s* -零个或多个spaces
  • (\\w\\)|•) -后跟括号或项目符号的数字或字母point
  • \\s* -零个或多个空格

输出:

代码语言:javascript
复制
Welcome to java programming
Oops concepts
Encapsulation
Abstraction
Inheritance
Polymorphism
票数 1
EN

Stack Overflow用户

发布于 2013-08-08 17:53:02

下面的基于正则表达式的正则表达式应该对你有效:

代码语言:javascript
复制
String s = "Welcome to java programming 1) Oops concepts a) Encapsulation A) Abstraction I) Inheritance  • Polymorphism";
String[] arr = s.split("\\s*([a-zA-Z\\d][).]|•)\\s*(?=[A-Z])");
System.out.println("Split => " + Arrays.toString(tok));

输出:

代码语言:javascript
复制
Split => [Welcome to java programming, Oops concepts, Encapsulation, Abstraction, Inheritance, Polymorphism]
票数 1
EN

Stack Overflow用户

发布于 2013-08-08 15:16:10

你也可以试试这个

代码语言:javascript
复制
String str="Welcome to java programming 1) Oops concepts a) Encapsulation A) Abstraction I) Inheritance  • Polymorphism" ;
    String newStr=str.replaceAll("(?i)\\s*([\\d\\w]\\)|•)\\s*"," ISseperatorIS ");
    String[] arr=newStr.split("ISseperatorIS ");
    for(String i:arr){
        System.out.println(i);
    }

输出输出

代码语言:javascript
复制
Welcome to java programming 
Oops concepts 
Encapsulation 
Abstraction 
Inheritance 
Polymorphism
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18119829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档