You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java字符串分割为数组问题:需将Pacific Ocean作为单个元素

解决字符串分割时保留固定短语为单个元素的问题

嘿,这问题我碰到过类似的!既然数据格式是固定的,咱们可以用两种简单的方式实现你要的效果:

方法一:临时替换法

先把固定短语"Pacific Ocean"替换成一个不会和原字符串冲突的临时标记,分割完之后再替换回来。这种方法逻辑直观,新手也能快速理解:

String str = "apple fruits money Pacific Ocean";
// 第一步:替换固定短语为临时标记(这里用下划线连接,确保原字符串里没这个组合)
String tempStr = str.replace("Pacific Ocean", "Pacific_Ocean");
// 第二步:按空格分割
String[] arr = tempStr.split(" ");
// 第三步:把临时标记替换回原短语
for (int i = 0; i < arr.length; i++) {
    arr[i] = arr[i].replace("Pacific_Ocean", "Pacific Ocean");
}

// 最终结果:arr = ["apple", "fruits", "money", "Pacific Ocean"]

方法二:正则表达式分割法

如果想更简洁,可以用负向先行断言的正则表达式,只分割那些后面不跟着"Ocean"的空格,这样"Pacific"和"Ocean"之间的空格就不会被当作分隔符:

String str = "apple fruits money Pacific Ocean";
// 正则解释:" " 匹配空格,(?!Ocean) 确保空格后面不是"Ocean"
String[] arr = str.split(" (?!Ocean)");

// 直接得到目标数组:["apple", "fruits", "money", "Pacific Ocean"]

这个正则之所以能生效,就是因为你的数据格式固定,"Pacific Ocean"是唯一需要保留的连写短语,所以我们精准排除了它中间的空格作为分隔符的情况。

内容的提问来源于stack exchange,提问作者Sveta Tulova

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:50:18