gpt4 book ai didi

java - 按字符拆分字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:41:00 24 4
gpt4 key购买 nike

我有一个案例,我正在做以下事情:

final String[] columns = row.split(delimiter.toString());

delimiter 是一个字符。

当我需要通过提供 \t 作为分隔符来基于制表符进行拆分时,这很好用。但是,当我想在管道上拆分时,我传入了 | 的分隔符,但这并没有按预期工作。

我读过几篇关于 | 是一个特殊字符的帖子,它表示 null 或空,因此它会在遇到的每个字符上拆分,不过,我不希望出现这种行为。

我可以在我的代码中为这个管道案例做一个简单的检查并解决这个问题:

if ("|".equals(delimiter.toString())) {
columns = row.split("\\" + delimiter.toString());
}
else {
columns = row.split(delimiter.toString());
}

但我不知道是否有更简单的方法来解决这个问题。另外,是否还有任何其他特殊字符像 | 我需要考虑在内?

最佳答案

尝试:

import java.util.regex.Pattern;

...

final String[] columns = row.split(Pattern.quote(delimiter.toString()));

关于其他元字符,正如它们的名称,这里引用自 String Literals教程:

This API also supports a number of special characters that affect the way a pattern is matched.

...

The metacharacters supported by this API are: <([{\^-=$!|]})?*+.>

参见:

关于java - 按字符拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16525150/

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