获取String的一部分并与变量比较(String Variable)

时间:2013-02-20 10:20:11

标签: java string groovy

我有类似的字符串:

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

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

我想与变量说比较:

String varValue = "16"

它可能处于任何位置......

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

5 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

此处:http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html

答案 2 :(得分:0)

您可以使用split方法接收Array。将Array转换为List将允许您使用一些辅助函数,例如containsindexOf,这些函数可用于返回令牌是否存在或者是否存在令牌。

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。

答案 3 :(得分:0)

不太明白你的问题。

  

不知道有多少数字与逗号分离

使用String方法split()

  

我想与变量说比较:String varValue =“16”

使用String方法contains()

答案 4 :(得分:0)

如果您使用的是Java,那么可以通过以下方式实现此目的:
1.将输入字符串拆分为数组 2.将该数组转换为列表。

现在
a)要查找用逗号分隔的总元素,请使用:    尺寸()。

b)要查找列表是否包含必需元素,请使用:    含有()。

c)要查找列表中元素的位置,请使用:    的indexOf()

所以代码看起来像:

import java.util.Arrays;
import java.util.List;

公共课测试{
    public static void main(String [] args){

    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));
}

}