Java 用于在保留空白的同时拆分字符串的正则表达式

Java 用于在保留空白的同时拆分字符串的正则表达式,java,android,regex,Java,Android,Regex,我正在做一个Android项目,它需要将字符串拆分为标记,同时保留空白,并且不拆分为非单词字符,如,&等 使用\b在任何非单词字符处拆分。因此,我需要一种按以下方式拆分字符串的方法 输入:(表示空白) 期望输出: A . A# .. A## 这5行是我想要的数组或类似数组中的5个值。这意味着结果数组的第4个元素包含2个空格。使用StringTokenizer: StringTokenizer st = new StringTokenizer("A.A#..A##", ".");//first

我正在做一个Android项目,它需要将字符串拆分为标记,同时保留空白,并且不拆分为非单词字符,如
&

使用
\b
在任何非单词字符处拆分。因此,我需要一种按以下方式拆分字符串的方法

输入:(
表示空白)

期望输出:

A
.
A#
..
A##
这5行是我想要的数组或类似数组中的5个值。这意味着结果数组的第4个元素包含2个空格。

使用StringTokenizer:

StringTokenizer st = new StringTokenizer("A.A#..A##", ".");//first argument is string you want to split, another is whitespace

while(st.hasMoreTokens())
  System.out.println(st.nextToken());
输出将是: A. A# A##

使用StringTokenizer:

StringTokenizer st = new StringTokenizer("A.A#..A##", ".");//first argument is string you want to split, another is whitespace

while(st.hasMoreTokens())
  System.out.println(st.nextToken());
输出将是: A. A# A##

使用StringTokenizer:

StringTokenizer st = new StringTokenizer("A.A#..A##", ".");//first argument is string you want to split, another is whitespace

while(st.hasMoreTokens())
  System.out.println(st.nextToken());
输出将是: A. A# A##

使用StringTokenizer:

StringTokenizer st = new StringTokenizer("A.A#..A##", ".");//first argument is string you want to split, another is whitespace

while(st.hasMoreTokens())
  System.out.println(st.nextToken());
输出将是: A. A#
我想这就是你想要的:

(?<=\S)(?=\s)|(?<=\s)(?=\S)

(?我想这就是你想要的:

(?<=\S)(?=\s)|(?<=\s)(?=\S)

(?我想这就是你想要的:

(?<=\S)(?=\s)|(?<=\s)(?=\S)

(?我想这就是你想要的:

(?<=\S)(?=\s)|(?<=\s)(?=\S)
(?试试:

String s=“A.A#……A##”
if(s.contains(“…”)| s.contains(“…”){
s、 替换(“…”,“);
s、 替换(“…”,“);
字符串[]=s.split(“.”;

它应该按照您想要的方式为您提供一个包含字符串的数组:)

别忘了用实际空格替换“.”:)

试试:

String s=“A.A#……A##”
if(s.contains(“…”)| s.contains(“…”){
s、 替换(“…”,“);
s、 替换(“…”,“);
字符串[]=s.split(“.”;

它应该按照您想要的方式为您提供一个包含字符串的数组:)

别忘了用实际空格替换“.”:)

试试:

String s=“A.A#……A##”
if(s.contains(“…”)| s.contains(“…”){
s、 替换(“…”,“);
s、 替换(“…”,“);
字符串[]=s.split(“.”;

它应该按照您想要的方式为您提供一个包含字符串的数组:)

别忘了用实际空格替换“.”:)

试试:

String s=“A.A#……A##”
if(s.contains(“…”)| s.contains(“…”){
s、 替换(“…”,“);
s、 替换(“…”,“);
字符串[]=s.split(“.”;

它应该按照您想要的方式为您提供一个包含字符串的数组:)




别忘了更换“.”使用实际空格:)

基于
\\s+
进行拆分有什么问题吗?我相信\\s+不会保留空格。但是您在输出中保留空格的位置在哪里?对不起,我的错误。我已经编辑了输出部分。要确认/澄清:输出中的5行:您希望在数组类型对象中使用的5个值正确吗?以及点不是实际的点,它们是用点替换的空格,以使它们在这个问题上可见,对吗?如果是这样,那么我不认为评论者/回答者(除了我;))得到了。基于
\\s+
进行拆分有什么问题吗?。我相信\\s+不会保留空白。但是,在输出中保留空白的位置在哪里?对不起,我的错误。我已经编辑了输出部分。要确认/澄清:输出中的5行:数组类型对象中需要的5个值正确吗?以及点不是实际的点,它们是用点替换的空格,使它们在这个问题上可见,对吗?如果是这样,那么我不认为评论者/回答者(除了我;))得到了。基于
\\s+
进行拆分有什么问题吗?。我相信\\s+不会保留空白。但是,在输出中保留空白的位置在哪里?对不起,我的错误。我已经编辑了输出部分。要确认/澄清:输出中的5行:数组类型对象中需要的5个值正确吗?以及点不是实际的点,它们是用点替换的空格,使它们在这个问题上可见,对吗?如果是这样,那么我不认为评论者/回答者(除了我;))得到了。基于
\\s+
进行拆分有什么问题吗?。我相信\\s+不会保留空白。但是,在输出中保留空白的位置在哪里?对不起,我的错误。我已经编辑了输出部分。要确认/澄清:输出中的5行:数组类型对象中需要的5个值正确吗?以及点不是实际的点,它们是用点替换的空格,以使它们在这个问题上可见,对吗?如果是这样,那么我认为评论者/回答者(除了我;)不会明白。你不理解我的问题。这是我的错误,我应该学着更好地描述。我使用了“”表示空格。空格可以是任何数字的空格。但是连续的空格应该被视为一个整体并分开。我不确定我是否有任何意义。好的,这很难理解-对我来说,至少你不理解我的问题。这是我的错,我应该学会更好地描述。我使用了“表示空格。空格可以是任何数字的空格。但是连续的空格应该被视为一个整体并分开。我不确定我是否有任何意义。好的,这很难理解-对我来说,至少你不理解我的问题。这是我的错,我应该学会更好地描述。我使用了“表示空格。空格可以是任何数字的空格。但是连续的空格应该被视为一个整体并分开。我不确定我是否有任何意义。好的,这很难理解-对我来说,至少你不理解我的问题。这是我的错,我应该学会更好地描述。我使用了“表示空白。空白可以是任何数字的空白。但是连续的空白应该被视为一个整体并被分割。我不确定我是否有任何意义。:)好的,这很难理解-对我来说,至少我可以在java中使用这个正则表达式吗?我不知道符号是什么“Java不是我最好的语言,但从其他一些答案来看,它应该是类似于
String[]res=str.split(“(?啊,那么你可能必须避开斜杠,所以