2013-02-20 116 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)); 
} 

}