gpt4 book ai didi

java - 用 ".split"拆分字符串,但在匹配数组中保留定界符(字符串)

转载 作者:行者123 更新时间:2023-11-30 07:04:41 25 4
gpt4 key购买 nike

我有这个字符串

"name={{0,0,0},{0,0,0},{0,0,0}}lastName={{0,0,0},{0,0,0},{0,0,0}}street[696]{{0,0,0},{0,0,0},{0,0,0}}OK

我想回到这个数组中:

['name={{0,0,0},{0,0,0},{0,0,0}}', 'lastName={{0,0,0},{0,0,0},{0,0,0}}', 'street[696]{{0,0,0},{0,0,0},{0,0,0}}', 'OK']

我试过这个:

String[] tokens = buffer.split("(?<=[a-zA-Z]+)");

但看起来 jvm 卡住了!

有什么帮助吗?

最佳答案

您可以使用此正则表达式进行拆分:

(?!^)(?=\\b[a-zA-Z])

此正则表达式表示在不在开头且单词边界后有字母时拆分。

代码:

String s="name={{0,0,0},{0,0,0},{0,0,0}}lastName={{0,0,0},{0,0,0},{0,0,0}}street[696]{{0,0,0},{0,0,0},{0,0,0}}OK";
String[] toks = s.split( "(?!^)(?=\\b[a-zA-Z])" );
for (String tok: toks)
System.out.printf("[%s]%n", tok);

输出:

[name={{0,0,0},{0,0,0},{0,0,0}}]
[lastName={{0,0,0},{0,0,0},{0,0,0}}]
[street[696]{{0,0,0},{0,0,0},{0,0,0}}]
[OK]

关于java - 用 ".split"拆分字符串,但在匹配数组中保留定界符(字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27432248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com