1

特殊文字 ( # ) が後に続く単語を削除するにはどうすればよいですか? 例: フレーズから: Eva have green#eyes 「green」(Eva have eyes) という単語、つまりスペースで終わる単語を削除したいと思います。

また、@ が続く行全体を削除するのに問題があります。

例: Eva have green@eyes--->eyes私のコード " "

class Stack {

public Stack() {
    del = '&';    //that method deletes only one character
                  //ex: ab&cd ---> acd
    destroy = '@';
    delWord = '#';
    stack = new Stack<Character>();

}

public void methods(String string)
{

    for (int i=0; i< string.length(); i++) //that method deletes only one character
                                       //ex: ab&cd ---> acd
    {
       if ( del == string.charAt(i) )
       {
          if (stack.size() > 0)
             stack.remove(stack.size()-1);
       }
       else if( destroy == string.charAt(i) )
      {
       stack.remove(stack.size());

      }
    }
}
}
4

3 に答える 3

0

はい、String クラスの replaceAll メソッドを使用します。

String myString = "eyes#green"
myString = myString.replaceAll("#.*", " ");

最初の引数は、置き換えたいものに一致する正規表現です。この場合、ハッシュタグの後に何かが続きます (つまり、文字列の残りの部分に一致します)。

2 番目の引数は、この場合はスペースです。

必要に応じて正規表現を変更します。

于 2013-04-16T12:33:27.407 に答える
0

が続く行全体を削除するには@、これを試してください:

String s = "Eva have green@eyes";
s = s.replaceAll(".*@"," ");
System.out.println(s);

出力 : eyes


の前の単語を削除するに#は、これを試してください:

String s= "Eva have green#eyes ";
s= s.replaceAll("\\s*(\\w+)#", " ");
System.out.println(s);

出力 : Eva have eyes

于 2013-04-16T12:36:54.317 に答える
0

文字列を配列に変換できます:

String[] string = plainText.split(" ,;[(!)*=]")//not using your #

次に、それを ArrayList に変換し、for(String word: arraylist) すべての単語に # が存在するかどうかを簡単にチェックし、そのような単語が見つかった場合は、それを他の ArrayList または String 配列に書き込まないようにします

于 2013-04-16T12:37:59.143 に答える