有没有办法在分隔符符号出现时每隔一次使用分隔符?
例如,你有一组以逗号分隔的字符串,如:(yes,2,my,15,face,9) 我希望这个单词与紧随其后的数字配对,并将上面的集合分成以下内容:((yes,2),(my,15),(face,9))。我正在为此使用自定义列表,所以在现实中我添加了每个元素[例如。 (是,2))到列表中。
答案 0 :(得分:0)
您可以使用正则表达式模式。这段代码描述了一个解决方案(因为我不知道你想如何存储它,我只是将它打印出来)。
String data = "yes,2,my,15,face,9";
Pattern p = Pattern.compile("[^,]*,[^,]*,?");
Matcher matcher = p.matcher(data);
while (matcher.find()) {
String[] splitted = matcher.group().split(",");
System.out.println(splitted[0]);
System.out.println(splitted[1]);
System.out.println("******************");
}
输出:
yes
2
******************
my
15
******************
face
9
******************
另一个解决方案是使用Scanner和分隔符“,”并将返回的部分配对。
答案 1 :(得分:0)
您可以使用分隔符(在您的情况下为逗号)解析字符串,然后在条目中处理每个对,并列出这些条目。 (看起来像家庭作业,所以没有指定确切的代码。)
答案 2 :(得分:0)
你为什么关心'分隔符'?如果我是你,我会做这样的事情。
String input = "Yes, 2, my, 15, face, 9";
String delimiter = ",";
List<Pair> s = createPairs(Arrays.asList(input.split(delimiter)));
List<Pair> createPairs(List<String> input) {
// read 2 at a time and create a Pair Object
}
`
这样,我可以使用任何分隔符并保持API清洁。如果这只是一次性作业并且模式已修复(字符串后跟,(逗号)和数字),那么您也可以使用正则表达式来匹配它。只是谷歌你会发现吨。