我有一些字符串,比如1-3
,11-16
,a-d
,C-G
。
有没有一种方法可以生成一个数组,其中包含了中间的所有值(包括)。例如,字符串a-d
将返回一个数组['a'、'b'、'c'、'd'],而11-16
将返回[11,12,13,14,15,16]?
这里有int和string两种方式。返回数组。
String[] range = "11-16".split("-");
int intArray[] =
IntStream
.rangeClosed(Integer.parseInt(range[0]),
Integer.parseInt(range[1]))
.toArray();
range = "C-G".split("-");
String[] strArray =
IntStream
.rangeClosed(range[0].charAt(0), range[1].charAt(0)).
mapToObj(Character::toString)
.toArray(String[]::new);
System.out.println(Arrays.toString(intArray));
System.out.println(Arrays.toString(strArray));
印刷品
[11, 12, 13, 14, 15, 16]
[C, D, E, F, G]
如果您更喜欢字符数组而不是字符串,这就可以了。
Character[] charArray =
IntStream
.rangeClosed(range[0].charAt(0), range[1].charAt(0)).
mapToObj(ch->Character.valueOf((char)ch))
.toArray(Character[]::new);
这应该是有效的:
String[] myString = new String[]{"1-3","11-16", "a-d","C-G"};
for (String string: myString){
String[] split = string.split("-");
try {
for (int i = Integer.parseInt(split[0]); i <= Integer.parseInt(split[1]); i++) {
System.out.print(i + " ");
}
}
catch (NumberFormatException e){
for (char i = split[0].charAt(0); i <= split[1].charAt(0); i++) {
System.out.print(i + " ");
}
}
System.out.println();
}
在这里,我只是打印结果。如果要将结果放入数组,可以创建一个arrayList并将元素添加到我正在打印的列表中。
编辑:如果您想保存它们,请改为:
String[] myString = new String[]{"1-3","11-16", "a-d","C-G"};
ArrayList<ArrayList<Character>> charArray = new ArrayList<>();
ArrayList<ArrayList<Integer>> intArray = new ArrayList<>();
for (String string: myString){
String[] split = string.split("-");
try {
ArrayList<Integer> currentArray= new ArrayList<>();
for (int i = Integer.parseInt(split[0]); i <= Integer.parseInt(split[1]); i++) {
currentArray.add(i);
}
intArray.add(currentArray);
}
catch (NumberFormatException e){
ArrayList<Character> currentArray= new ArrayList<>();
for (char i = split[0].charAt(0); i <= split[1].charAt(0); i++) {
currentArray.add(i);
}
charArray.add(currentArray);
}
}
System.out.println(charArray);
System.out.println(intArray);
}
我有一个字符串“1,3,5,7,9,11,12,14”,我想检查该字符串在java中是否包含“12,3,14”。 我的代码:
问题内容: 如何找到两个子字符串之间的字符串? 我当前的方法是这样的: 但是,这似乎效率很低而且不合Python。什么是做这样的更好的方法? 忘了提:该字符串可能无法启动,并最终和。他们之前和之后的字符可能更多。 问题答案:
因此,我试图提出一种算法,在字符串数组中查找带有特定字符/字母的单词。 有没有一个聪明的方法,也许通过排序列表,然后以某种方式搜索? 另外,这个算法的运行时间是多少?它会被认为是O(n)还是O(n*m)?其中n是字典中的单词数,m是数组中每个单词的长度。
问题内容: 我有一个字符串,例如:“这是应该使用的URL http://www.google.com/MyDoc.pdf ” 我只需要提取从http开始并以pdf结尾的URL:http: //www.google.com/MyDoc.pdf 这使我的输出为“应使用的http://www.google.com/MyDoc.pdf” 需要帮助。 问题答案: 这种问题是针对正则表达式进行的: 正则表达式
问题内容: 我正在尝试 使用循环从两个不同的用户输入中打印常用字母。(我需要使用for循环来完成它。)我遇到了两个问题:1.我的语句“ If char not in output …”没有提取唯一值。2.输出为我提供了单个字母列表,而不是单个字符串。我尝试分割输出,但是分割遇到类型错误。 问题答案: 您正在尝试执行“设置相交”。Python有 相同的方法。您可以将其用于您的用例,例如: 将返回字符
问题内容: 我正在寻找一种在字符串中查找JSON数据的方法。像wordpress简码一样思考它。我认为最好的方法是使用正则表达式。我不想解析JSON,只需查找所有出现的事件。 正则表达式中是否有办法使括号的数量匹配?目前,当我嵌套对象时遇到了这个问题。 演示的快速示例: 结果,我想要两个JSON字符串。谢谢! 问题答案: 从给定的文本中提取JSON字符串 由于您正在寻找一种简单的解决方案,因此可以