[英]Using delimiter to organize a set
是否每隔一次出现定界符就会使用定界符?
例如,您有一组用逗号分隔的字符串,如下所示:(是,2,我,15,面,9)我希望将单词与紧随其后的数字配对,然后将上面的字符串分隔为以下:((是,2),(我,15),(脸,9))。 我为此使用了一个自定义列表,因此实际上我添加了每个元素[例如。 (是,2])到列表。
您可以使用正则表达式模式。 这段代码描述了一个解决方案(由于我不知道您想如何存储它,因此我只是将其打印出来)。
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
******************
另一个解决方案是将扫描仪与定界符“,”一起使用,并配对返回的零件。
您可以简单地使用定界符(在您的情况下为逗号)来解析字符串,然后将每个对处理为一个条目,并列出这些条目的列表。 (看起来像作业,因此未指定确切的代码)。
您为什么关心“定界符”? 如果我是你,我会做这样的事情。
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干净。 如果这只是一项工作,并且模式是固定的(字符串,然后是,(逗号)和数字),那么您也可以使用正则表达式来匹配它。 只是谷歌它会发现吨。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.