簡體   English   中英

如何在Java中使用split()字符串方法分隔單詞

[英]How do I separate words using split() string method in Java

我想分開單詞,並在它們之間用連字符(-)將它們打印在一行中。 我已經編寫了以下代碼,但它只顯示最后一個單詞,后跟一個連字符,即輸出為胡蘿卜。 我不明白為什么以及要進行哪些更改才能獲得所需的輸出?

public class SeparatingWords {

    public static void main(String[] args) {
        String str = "apple banana carrot";
        System.out.println(separatingWords(str));
    }

    public static String separatingWords(String str) {
        String[] words = str.split(" ");
        String result = null;

        for (int i = 0; i < words.length; i++) {
            result=words[i]+"-";
        }

        return result;
    }
}

為什么不直接調用replaceAll來實現目標,而不是調用split和串聯字符串。 這將使您的代碼變得簡單。

String result = str.replaceAll(" ", "-");

以下是您的示例修改代碼。 希望這可以幫助

public class Sample {

public static void main(String[] args) {
    String str = "apple banana carrot";
    System.out.println(separatingWords(str));
 }

public static String separatingWords(String str) {
    String result = str.replaceAll(" ", "-");
    return result;
 }
}

如果您要根據方法中的要求執行任何其他操作,則以下方法將為您工作。 如@Moler所建議,添加了+=並初始化了result對象

public static String separatingWords(String str) {
    String[] words = str.split(" ");
    String result = "";  // Defaulted the result

    for (int i = 0; i < words.length-1; i++) {
        result += words[i] + "-";  // Added a +=
    }
    result += words[words.length - 1];
    return result;
}
   public class SeparatingWords
    {
        public static void main(String[] args)
        {
            String str="apple banana carrot";
            System.out.println(separatingWords(str));
        }
        public static String separatingWords(String str)
        {
            String[] words=str.split(" ");
            String result="";

            for(int i=0;i<words.length;i++)
            {
                result += words[i]+"-";
            }
            return result;
        }
    }

試試這個代碼:

public class SeparatingWords
{
public static void main(String[] args)
{
    String str="apple banana carrot";
    System.out.println(separatingWords(str));
}
public static String separatingWords(String str)
{
    String[] words=str.split(" ");

    String result=words[0];

    for(int i=1;i<words.length;i++)
    {
        result=result+"-"+words[i];
    }
    return result;
}
}

您可以使用s StringBuilder ,添加單個單詞和一個連音,最后一個單詞,您只需添加單詞:

public class SeparatingWords {

    public static void main(String[] args) {
        String str = "apple banana carrot";
        System.out.println(separatingWords(str));
    }

    public static String separatingWords(String str) {
        String[] words = str.split(" ");
        StringBuilder resultBuilder = new StringBuilder();

        for (int i = 0; i < words.length; i++) {
            resultBuilder.append(words[i]);
            if (i != words.length - 1) {
                resultBuilder.append("-");
            }
        }

        return resultBuilder.toString();
    }
}
String[] words = str.split(" ");
// perform operations on individual words
return String.join("-", words);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM