7

我似乎无法在此方法中找到 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

4 回答 4

10

你可以使用

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

拆分每个空格字符 (U+0020)

或者:

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

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

于 2013-03-18T15:40:04.050 回答
4

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

String suit = cardArray.get(card);
for (String word : suit.split("\\s+")){
    if (word.contains("SPADES")){
        suit = "SPADES";            
    }
}
于 2013-03-18T15:40:31.540 回答
0

为什么不将枚举用于西装,并将其添加到您的 Card 类或更多面向对象的东西中?您甚至可以拥有一个抽象类卡或接口卡,它可以让您在 Card 实例本身中添加所需的逻辑,而不是迭代进行字符串比较。

但是:String.split(String regex)应该可以工作,只需选择适当的正则表达式

于 2013-03-18T15:43:56.527 回答
0

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

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

如果您想suit出于其他原因拆分字符串,请查看其他答案

于 2013-03-18T15:54:39.490 回答