当前位置: 首页 > 知识库问答 >
问题:

使用由分隔符Java分隔的位置值拆分字符串

朱鹤轩
2023-03-14

我有一个输入字符串,其中包含由分隔符(| |)分隔的4个ID。我使用的代码如下:

String idString = "id1||id2||id3||id4";

  String ids[] = idString.split("\\|\\|");
  String id1 = ids[0];
  String id2 = ids[1];
  String id3 = ids[2];
  String id4 = ids[3];

但有些情况下并非所有ID都存在,如:

String idString = "||id2||||";

在上面的场景中,拆分不会分为4个部分,并且无法判断拆分数组中缺少哪个id。

有人可以帮助一个有效的解决方案。

共有1个答案

薄烨
2023-03-14

使用长度和循环来判断哪一个存在。在拆分中使用-1来处理所有分隔符。

String idString = "||id2||||";

String ids[] = idString.split("\\|\\|");
for (int i = 0; i < ids.length; i++) {
    System.out.printf("id[%d] -> %s%n", i, ids[i].isEmpty() ? "is Empty" :ids[i]);
}

指纹

id[0] -> is Empty
id[1] -> id2
id[2] -> is Empty
id[3] -> is Empty
 类似资料:
  • 我在文件上写了一些样本数据。数据的格式如下- 我必须提取由“[”和“]”分隔的信息。所以我发现- 我不太熟悉字符串拆分。我只知道当字符串仅由一个字符分隔时(例如-string1-string2-string3-…)如何拆分字符串。

  • 如何将过滤器列表拆分为单个过滤器元件?split2String在线程“main”java.util.regex中导致:异常。PatternSyntaxException:索引10或(|和)附近的未闭合组(

  • 问题内容: 一些外部数据供应商希望给我一个数据字段-管道分隔的字符串值,我觉得这很难处理。 没有应用程序编程语言的帮助,有没有办法将字符串值转换为行? 但是,存在一个困难,该字段具有未知数量的定界元素。 有问题的数据库引擎是MySQL。 例如: 问题答案: 它可能没有我最初想象的那么困难。 这是一种通用方法: 计算分隔符的出现次数 循环多次,每次获取一个新的定界值并将该值插入第二个表中。

  • 我有输入字符串'~~'作为分隔符。 例如:字符串s=“1~~vijay~~25~~pune”;当我在Java中用'~\\~'拆分它时,它工作得很好。 还有其他人面临同样的问题吗?请就这个问题发表评论。

  • 问题内容: 我有一个值为的字符串。我想将字符串分成两个字符串,值为的字符串和的值为字符串。 正确的功能/语法是什么? 我已经看过了,但是找不到将数据返回到两个单独的字符串中的实际语法。 问题答案: 该功能适用于:

  • 我是 Perl 的新手,但根据我阅读的文档,看起来 Perl 中的 split 函数要求正则表达式模式而不是字符串分隔符作为第一个参数,但我发现使用 之类的东西仍然可以正确拆分字符串。 基于此,我尝试使用可变分隔符(例如。< code>print (split($var,$ string))[0] where < code > $ var = ' ' )并发现它不起作用。我做错了什么? 谢谢! 编