我有这样的字符串:
String value = "13,14,15,16,17"
但我不知道逗号分隔有多少数字。
我想与变量进行比较:
String varValue = "16"
它可能在任何位置..
我想比较这两个字符串变量......请有人帮忙吗?
你可以做这样的事情:
String values = '13,14,15,16,17'
String required = '16'
values.tokenize( ',' ).with { toks ->
println "There are ${toks.size()} elements in the list"
println "The list contains $required is ${toks.contains( required )}"
println "It is at position ${toks.indexOf( required )}"
}
哪个打印
There are 5 elements in the list
The list contains 16 is true
It is at position 3
如果您使用的是 Java,则可以执行以下操作来实现此目的:
1. 将输入字符串拆分为一个数组。
2. 将该数组转换为列表。
现在
a) 要查找以逗号分隔的总元素,请使用:size()。
b) 要查找列表是否包含所需元素,请使用: contains()。
c) 要查找元素在列表中的位置,请使用:indexof()
所以代码看起来像:
导入 java.util.Arrays;
导入 java.util.List;
公共类测试{
公共静态无效主要(字符串[]参数){
String inputString = "13,14,15,16,17";
String element = "16";
// Convert the string into array.
String values[] = inputString.split(",");
// Create a list using array elements.
List<String> valList = Arrays.asList(values);
System.out.println("Size :" + valList.size());
System.out.println("List contains 5 " + valList.contains(element));
System.out.println("Position of element" + valList.indexOf(element));
}
}
使用该split
方法将数字放入数组中,然后进行比较。
这里:http ://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html
您可以使用该split
方法接收Array
. 将Array
转换为 aList
将允许您使用一些辅助函数,例如contains
and indexOf
,可用于返回标记是否存在或标记的位置。
String value = "13,14,15,16,17";
//Checks existence
boolean contains = Arrays.asList(value.split(",")).contains("16");
//Returns position
int pos = Arrays.asList(value.split(",")).indexOf("16") + value.split(",").length + 1;
这些示例都使用 Java。
不太明白你的问题。
不知道有多少个数字用逗号分隔
使用字符串方法 split()
我想与变量进行比较: String varValue = "16"
使用字符串方法 contains()