2013-02-20 118 views
0

我有这样的字符串:戈字符串的一部分,比较难熬的变量(字符串变量)

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

,但我不知道有多少数字是没有用逗号分隔。

我想用变量来比较说:

String varValue = "16" 

它可能在任何现在的位置..

我想这两个字符串变量比较.... 请谁能帮助?

+0

什么是这种比较的预期输出? – 2013-02-20 10:22:13

+0

这似乎不太可能与C真的有关......我也不明白为什么Grails会相关...... – 2013-02-20 10:22:25

+0

那么你试过了什么? – 2013-02-20 10:22:31

回答

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 
+0

这是什么语言?我假设C? – 2013-02-20 10:30:33

+0

@KevinBowersox否,Groovy – 2013-02-20 10:31:54

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。

+1

唯一的问题是如果116是字符串中的数字。 – 2013-02-20 10:26:41

+0

@ kw4nta好的我更新了。 – 2013-02-20 10:40:40

0

不太理解你的问题。

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

使用字符串方法拆分()

我想用变量来比较说:字符串varValue = “16”

use String method contains()

0

如果您使用Java,则可以执行以下操作来实现此目的:
1.将输入字符串拆分为数组。
2.将该数组转换为列表。

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

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

三)要查找元素的位置列表,使用方法: 的indexOf()

因此,代码会看起来像:

进口java.util.Arrays中;
import java.util.List;

公共类的测试{
公共静态无效的主要(字串[] 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)); 
} 

}