私はArraylistに文字列のグループを持っています。数字付きのJava文字列
の文字列をすべて削除します。文字列を含まない文字列($ 0.75)は、$ 1.5です。 2)コンソールに書き込む前に、文字列のすべての特殊文字を削除します。 は、「神は神を印刷する必要があります & QUOT;を含むを印刷する必要があります。あなたが言うとき
私はArraylistに文字列のグループを持っています。数字付きのJava文字列
の文字列をすべて削除します。文字列を含まない文字列($ 0.75)は、$ 1.5です。 2)コンソールに書き込む前に、文字列のすべての特殊文字を削除します。 は、「神は神を印刷する必要があります & QUOT;を含むを印刷する必要があります。あなたが言うとき
を見つけるべきである見つける」 をquoteIncluding 『の文字、aからzまでの』私はあなただけを意味すると仮定しています 『』と「A Z.を通じて」あなたは、おそらくD1Eコメントで述べたように正規表現(正規表現)を使用したい。ここでReplaceAllメソッドを使用した例である
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>(5);
list.add("\"God");
list.add(""Including");
list.add("'find");
list.add("24No3Numbers97");
list.add("w0or5*d;");
for (String s : list) {
s = s.replaceAll("[^a-zA-Z]",""); //use whatever regex you wish
System.out.println(s);
}
}
}
次のようにこのコードの出力は次のとおりです。。
神
quotIncluding
は
NoNumbers
でReplaceAllメソッドは(、空の文字列を、この場合には)正規表現パターンを使用して、2番目のパラメータを持つすべての一致を置き換え
単語を見つけます。
Javaは、正規表現を利用する非常に素晴らしいPattern classを誇っています。あなたは間違いなくそれを読むべきです。良いリファレンスガイドはhere.
私はあなたのためのコーディングソリューションを投稿するつもりだったが、それに私を打つstyfle!
for(int i = 0; i < myArray.size(); i++){
Pattern p = Pattern.compile("[a-z][A-Z]");
Matcher m = p.matcher(myArray.get(i));
boolean match = m.matches();
//more code to get the string you want
}
しかし、あまりにもかさばること:私は、ここでは異なるやるつもりだった唯一のことは、ループのために、私のような、パターンとMatcherのクラスを使用していた範囲内でした。 styfleの解決策は簡単で簡単です。
偉大な答え。スタックオーバーフローへようこそ! –
ありがとう!このコミュニティは最高です。 :) – SpacePyro
[regex](http://download.oracle.com/javase/tutorial/essential/regex/)のにおいがします。 – JMelnik
"..文字を含んでいないものすべて.."それは手がかりです! 「除外」を考えるのではなく、「含む」、「A-Z」、「a-z」を考えるのはあなたが知っている26 + 26アルファベットだけです。 –
これまでに何を試みましたか? – MatthewD