为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

潇潇雨雨 2021-08-04 15:13:35
我想分隔单词并将它们打印在一行中,中间有一个连字符(-)。我编写了以下代码,但它只打印最后一个单词,后跟一个连字符,即输出是胡萝卜-。我不明白为什么以及我要进行哪些更改才能获得所需的输出?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;    }}
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

而不是调用 asplit并连接字符串,为什么不能直接调用replaceAll以实现您的目标。这将使您的代码变得简单。


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;

}


查看完整回答
反对 回复 2021-08-04
  • 3 回答
  • 0 关注
  • 250 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信