Java分割字符串正则表达式
这是一个字符串,我想拆分字符串,使符号和“单词”分开。例如:Java分割字符串正则表达式,java,regex,string,split,tokenize,Java,Regex,String,Split,Tokenize,这是一个字符串,我想拆分字符串,使符号和“单词”分开。例如: String s = "/xyz/abc[bcd(text(),\"string\")]"; 我想要一个字符串数组,比如 String[] result = {"/","xyz","/","abc","[","bcd","(","text","(",")",",","\"","string","\"",")","]"} 如何使用正则表达式来实现这一点 这应该有效: String str = "/xyz/abc[bcd(text()
String s = "/xyz/abc[bcd(text(),\"string\")]";
我想要一个字符串数组,比如
String[] result = {"/","xyz","/","abc","[","bcd","(","text","(",")",",","\"","string","\"",")","]"}
如何使用正则表达式来实现这一点 这应该有效:
String str = "/xyz/abc[bcd(text(),\"string\")]";
String[] arr = str.split("(?<=\\G(?>\\w+|\\W))\\s*");
说明:
- 正则表达式正在使用从上次匹配位置末尾匹配的\G
是一个原子组(更多详细信息:)(?>…)
祝你好运,编码快乐谢谢!如果字符串中有空格,我想在拆分字符串时忽略这个空格?例如
String s=“/xyz/abc[bcd(text(),\“String\”)”代码>@anubhava回答得好你能解释一下你想在这里做什么吗?@CSnerd:嗯,所以你在改变问题的本质。我先添加我的解释,然后我将检查修改后的问题是否可以用这种方式解决。@anubhava我找到了一种可以使用s=s.replaceAll(“,”)的方法;如果修改答案需要这么多工作。很好,很高兴知道。另请参见更新的代码以丢弃间隔。
["/", "xyz", "/", "abc", "[", "bcd", "(", "text", "(", ")", ",", """, "string", """, ")", "]"]