我已经使用此代码从字符串

时间:2016-11-08 14:31:24

标签: java string class loops

class abc
{
    void main(String s)
    {
        s=s+" ";
        String st="";String sen="";
        int l=s.length();
        char ch;
        for(int i=0;i<l-1;i++)
        {
            ch=s.charAt(i);
           if (ch!=' ')
           {
               st=st+ch;

        }
        else
        {
            if(st.equalsIgnoreCase("The"))
            {
                sen=sen+" "+st;
                st="";
            }
        }
    }
       System.out.println("The new string is"+st);
    }
}

我正在尝试删除“#34;&#34;从一个字符串。

输入: s =&#34;大猫&#34;

预期产量: &#34;大猫&#34;

实际输出: &#34; bigca&#34;

2 个答案:

答案 0 :(得分:2)

改变了你的for循环代码:

//The method to start the other activity
public void openMap(View view) {
    Intent intent = new Intent(this, UI_MainActivity.class);
    intent.putExtra("METHOD_TO_CALL", 1); // the 1 is a example, put your ID here
    startActivity(intent);
}

两件事:

1)for循环需要循环到输入字符串的最后一个字符( for(int i=0;i<=l-1;i++) { ch=s.charAt(i); st=st+ch; if(st.equalsIgnoreCase("The")) { sen=sen+" "+st; st=""; } } System.out.println("The new string is: "+st); 而不是i<=l-1

2)以下代码修剪空格并将单词连接在一起,所以我移出了i<l-1语句之外的st=st+ch,不确定你是否有意这样:

if

完整代码和输入:

if (ch!=' ')
{
    st=st+ch;

}

<强>输出:

  

新字符串是:大猫是最好的

答案 1 :(得分:0)

您可以使用String.replaceAll()

删除所有出现的字符串
String sentence = "This is a sentence.";
String removed = sentence.replaceAll("(?i)this", "");
System.out.println(removed);

(?i)将忽略该字词的大小写。

输出:" is a sentence."