Java - 将字符串拆分为单独的单词并向其添加内容

时间:2015-04-21 08:38:29

标签: java

让我说我有字符串:

Java Android iOS

我需要它的输出:

%java%
%android%
%ios%

%java%%android%%ios%

我该怎么做?

对不起,也许我没解释好。

String tok[]=input1.split(" ");
        for(String t:tok){
            System.out.println("%"+t.toLowerCase()+"%");
        }

这可能是一个很好的答案,但我忘了提到我需要保存,不仅打印,所以最好的结果将如例2所示,所以只需在每个单词周围添加%..%

5 个答案:

答案 0 :(得分:5)

请尝试以下操作:

String test="Java Android iOS";
        String tok[]=test.split("\\s+");
        for(String t:tok){
            System.out.println("%"+t.toLowerCase()+"%");
        }

输出

%java%
%android%
%ios%

基本上你需要的是从空格字符中分割字符串,这可以由split()完成,然后根据你的意愿添加内容。

答案 1 :(得分:3)

您可以尝试replaceAll()split()

public static void main(String[] args) {
    String s = "Java Android iOS";
    s = s.replaceAll("\\b(\\w+)\\b", "%$1%"); // capture and add
    String[] arr = s.split("\\s+");
    for (String str : arr) {
        System.out.println(str);
    }
}

O / P:

%Java%
%Android%
%iOS%

答案 2 :(得分:1)

public String wrap(String input)
{
    String[] words = input.split(" "); //get array of words
    StringBuilder sb = new StreingBuilder(); //this is for perfomance
    for(String word : words) //affect each word in string
    {
        sb.append("%").append(word).append("%");
        //add %current_word% to result (if need, you may add space too
    }
    return sb.toString();
}

答案 3 :(得分:1)

试试这段代码:

String x = "I love java programming";
        String arrayX[] = x.split(" ");
        for(int i = 0; i<arrayX.length; i++){
            System.out.println("%"+arrayX[i].toLowerCase()+"%");
        }

输出: %一世% %爱% %纯Java% %编程%

答案 4 :(得分:0)

String example = "Java Android Ios";
String token[] = example.split("\\s+");

for(int i = 0; i < token.length; i++)  
{
     //%java%%android%%ios%
    System.out.print("%" + token[i].toLowerCase() + "%");
 //%java%
 //%android%
 //%ios%}
System.out.println("%" + token[i].toLowerCase() + "%");