0

我有这样的字符串:

String value = "13,14,15,16,17"

但我不知道逗号分隔有多少数字。

我想与变量进行比较:

String varValue = "16"

它可能在任何位置..

我想比较这两个字符串变量......请有人帮忙吗?

4

5 回答 5

3

你可以做这样的事情:

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
于 2013-02-20T10:23:15.393 回答
0

如果您使用的是 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));
}

}

于 2013-02-20T11:00:43.907 回答
0

使用该split方法将数字放入数组中,然后进行比较。

这里:http ://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html

于 2013-02-20T10:22:31.500 回答
0

您可以使用该split方法接收Array. 将Array转换为 aList将允许您使用一些辅助函数,例如containsand 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。

于 2013-02-20T10:24:22.700 回答
0

不太明白你的问题。

不知道有多少个数字用逗号分隔

使用字符串方法 split()

我想与变量进行比较: String varValue = "16"

使用字符串方法 contains()

于 2013-02-20T10:24:37.497 回答