Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,如何在不删除字符串中的任何字符的情况下拆分字符串?_Java_Regex_Split_String Split - Fatal编程技术网

在Java中,如何在不删除字符串中的任何字符的情况下拆分字符串?

在Java中,如何在不删除字符串中的任何字符的情况下拆分字符串?,java,regex,split,string-split,Java,Regex,Split,String Split,我有这样一个字符串: String str = "How {$can} {$we} split this {$string}?"; 我必须把它分成几个部分: ["How ","{$can}"," ","{$we}"," split this ","{$string}","?"] 您可以使用此拆分: String str = "How {$can} {$we} split this {$string}?"; String[] arr = str.split("(?=\\{)|(?<=\

我有这样一个字符串:

String str = "How {$can} {$we} split this {$string}?";
我必须把它分成几个部分:

["How ","{$can}"," ","{$we}"," split this ","{$string}","?"]

您可以使用此拆分:

String str = "How {$can} {$we} split this {$string}?";

String[] arr = str.split("(?=\\{)|(?<=\\})");
String str=“如何{$can}{$we}拆分此{$String}?”;

String[]arr=str.split((?=\\{)|(?您可以使用此拆分:

String str = "How {$can} {$we} split this {$string}?";

String[] arr = str.split("(?=\\{)|(?<=\\})");
String str=“如何{$can}{$we}拆分此{$String}?”;

String[]arr=str.split((?=\\{)|)(?)带有包含lookarounds的正则表达式。您可以使用模式和匹配器,但它会增加复杂性或任何“零宽度”断言,例如
\b
(以及yes lookarounds).Pattern和Matcher是如何实现的?我是新手,你实际上是在实现占位符替换吗?你不需要一个子字符串数组,你需要一个正则表达式来匹配
\{\$。+?\}
并将其与
find
appendReplacement
一起在循环中使用。使用包含lookarounds的正则表达式。您可以使用模式和匹配器,但它会增加复杂性或任何“零宽度”断言,例如
\b
(是的lookarounds).Pattern和Matcher是如何实现的?我是新手,你实际上是在实现占位符替换吗?你不需要一系列的子字符串,你需要一个正则表达式来匹配
\{\$。+?\}
,并在循环中使用
查找
追加替换