用于循环搜索字符串中的单词

时间:2013-03-18 15:38:59

标签: java

我似乎无法在此方法中找到for循环所需的语法。我希望遍历字符串suit中的单词。

编辑:需要注意的一点是cardArray是一个ArrayList。

public String getSuit(int card){
    String suit = cardArray.get(card);
    for (String word : suit){
        if (word.contains("SPADES")){
            suit = "SPADES";            
        }
    }
    return suit;
}

4 个答案:

答案 0 :(得分:7)

您可以使用

for (String word : suit.split(" ")) {

分割每space character (U+0020)

可替换地:

for (String word : suit.split("\\s+")) {

这会拆分每个空格字符序列(包括制表符,换行符等)。

答案 1 :(得分:2)

尝试在空格上拆分字符串:

String suit = cardArray.get(card);
for (String word : suit.split("\\s+")){
    if (word.contains("SPADES")){
        suit = "SPADES";            
    }
}

答案 2 :(得分:0)

为什么不使用enum for suit,并将它添加到Card类或更多面向对象的东西?你甚至可以拥有一个抽象类卡或一个接口卡,它可以让你自己添加卡实例中需要的逻辑,而不是迭代进行字符串比较。

但是:String.split(String regex)应该有效,只需选择合适的regular expression

答案 3 :(得分:0)

如果您只想替换包含“SPADES”的字符串:

public String getSuit(int card){
    String suit = cardArray.get(card);
    if (suit.contains("SPADES")){
        cardArray.set(card, "SPADES");            
    }
    return suit;
}

如果您想因其他原因拆分字符串suit,请参阅其他答案