Java 如何用符号交换一组单词中的一个单词?

Java 如何用符号交换一组单词中的一个单词?,java,sdk,Java,Sdk,我必须用#替换包含字母“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.S

我必须用#替换包含字母“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()); 
}
publicstaticvoidmain(字符串[]args)
{
StringBuilder sb=新的StringBuilder();
java.lang.String s=“我和我的朋友们坐在一起会变成”;
java.lang.String sTemp[]=s.split(“”);
对于(int i=0;i请尝试以下方法:

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();
}

您可以先将
字符串
按空格拆分为
字符串[]
。然后迭代此数组并将包含“g”的每个单词替换为“#”。然后
用替换数组的值共同标记一个新的
字符串
,您就完成了。

公共静态void main(String[/args){
 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());
}
StringBuilder sb=新的StringBuilder(); String s=“我和我的朋友坐在一起会变成”; 字符串sTemp[]=s.split(“”); 对于(int i=0;i建议使用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));
String[]s=“我和朋友坐在一起”。拆分(“”);
StringBuilder sb=新的StringBuilder();
对于(int i=0;i
如果您的类路径中已有apachecommonsLang(这会变得更容易)

for(int i=0;i
公共静态void main(字符串[]args)
{
String s=“我和朋友坐在一起”;
字符串[]temp=s.split(“”);

对于(int a=0;aThanks但它显示string.string没有main方法,任何解决方法都很好:)您可以将此代码放在一个静态方法中,该方法接收
myString
作为参数,并在末尾返回
output
。然后您可以从主方法调用它。public static void main(string[/args){StringBuilder sb=new StringBuilder();java.lang.String s=“我和我的朋友坐在一起将变成”java.lang.String sTemp[]=s.split(“”);for(int I=0;I
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, ' '));
 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);
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);
}