2013-06-12 134 views
-1

我必須用#交換包含字母'g'的每個單詞。如何使用符號替換一組單詞中的單詞?

例如:

「我跟我的朋友一起坐在」將成爲「我是##和我的朋友」

「和你在一起」和「坐」將#

被交換

我試過到目前爲止:

public static void main(String[] args) 
{ 
    StringBuilder sb = new StringBuilder(); 
    java.lang.String s = "I am sitting together with my friends will become"; 
    java.lang.String sTemp[] = s.split(" "); 
    for(int i=0;i<sTemp.length;i++) 
    { 
    if(sTemp[i].contains("g")) 
    { 
     sb.append("# "); 
    } else 
    { 
     sb.append(sTemp[i].toString()+" "); 
    } 
    } 
    System.out.println(sb.toString()); 
} 
+0

公共靜態無效的主要(字串[] args ){ StringBuilder sb = new StringBuilder(); java.lang.String s =「我和我的朋友坐在一起會變成」; java.lang.String sTemp [] = s.split(「」); (sTemp [i] .contains(「g」)){ sb.append(「#」);如果(int i = 0; i user2477131

回答

1

試試這個:

public static String swapWordsWithString (String inputString, String searchString, String swapString) 
    //inputString == "I am sitting here together with my friends" 
    //searchString == "g" 
    //swapString == "#" 
    String output = ""; 
    String[] words = inputString.split(" "); 
    for(String x : words) 
     if(x.contains(searchString)) 
      output = output + swapSring + " "; 
     else 
      output = output + x + " "; 
    return output.trim(); 
} 
+0

謝謝,但它顯示string.String沒有一個主要方法,任何想法來解決它 – user2477131

+0

雅作品感謝 – user2477131

+0

很高興聽到:)你可以把這個代碼放在一個靜態方法接收'myString'作爲參數和最後返回'output'。然後你可以從你的主要方法中調用它。 – johk95

0

您可以先用空格將String分割爲String[]。然後遍歷這個數組,並用'#'替換每個包含'g'的單詞。之後cocatenate一個新的String與替換數組的值,你完成了。

+1

查看我對代碼的回答。 – johk95

0
public static void main(String[] args) { 
     StringBuilder sb = new StringBuilder(); 
     String s = "I am sitting together with my friends will become"; 
     String sTemp[] = s.split(" "); 
    for(int i=0;i<sTemp.length;i++){ 
    if(sTemp[i].contains("g")){ 
      sb.append("# "); 

     }else{ 
     sb.append(sTemp[i].toString()+" "); 
    } 
    } 
     System.out.println(sb.toString()); 
} 
0

使用的StringBuilder的建議

String[] s = "I am sitting together with my friends".split(" "); 

StringBuilder sb = new StringBuilder(); 
for (int i = 0; i < s.length; i++) { 
    if (s[i].indexOf('g') != -1) { 
     s[i] = "#"; 
    } 
    sb.append(s[i]).append(' '); 
} 

System.out.println(sb.deleteCharAt(sb.length() - 1)); 

如果你已經有阿帕奇百科全書在你的classpath (它變得更容易)

for (int i = 0; i < s.length; i++) { 
    if (s[i].indexOf('g') != -1) { 
     s[i] = "#"; 
    } 
} 

// Using org.apache.commons.lang3.StringUtils 
System.out.println(StringUtils.join (s, ' ')); 
0
String inputString = "I am sitting together with my friends"; 
String outputString = ""; 

for(String value : inputString.split(" ")) { 
    if(value.contains("g")) { 
     outputString += " #"; 
    } else { 
     outputString += " "+ value; 
    } 
} 
System.out.println(outputString); 
0
public static void main(String[] args) 
{ 
    String s = "I am sitting together with my friends"; 

    String[] temp = s.split(" "); 

    for(int a=0; a<temp.length; a++) 
    { 
     if(temp[a].contains("g")) 
     { 
      s = s.replace(temp[a], "#"); 
     } 
    } 

    System.out.println(s); 
}