在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是如何实现的?我是新手,你实际上是在实现占位符替换吗?你不需要一系列的子字符串,你需要一个正则表达式来匹配\{\$。+?\}
,并在循环中使用查找和追加替换
。