我有一个输入字符串,其中包含由分隔符(| |)分隔的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
来处理所有分隔符。
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 = ' ' )并发现它不起作用。我做错了什么? 谢谢! 编