と文字列の比較:私は後述のように私の問題を修正するためにいくつかの助けを必要とArrayListの文字列要素
私は名前のデータリストと配列リストを持っており、それが38 45 1 ah3wような要素を持っている、zj4e 32 4 45私はah3w 38 45 1のような文字列をarraylistでチェックするかどうかを比較したいと思います。主な問題は空白です。私はそれらを無視したいと思います。なぜなら、文字の間に複数の空白を持つ要素がarraylistにあることがあるからです。私はreplaceAllメソッドを使って以下のようなものを試してみましたが、動作しませんでした。最後に、私はarraylistを作成する前にすべての空白を削除しようとしたが、私は同じことを私の弦にもやったが、うまくいった。私はちょうどスペースを使わずにそれらを比較したいものを変更したくない。ここに私のコードの例である:ここで
String field = "ah3w 38 45 1"
for(int a=0; a<datalist.size(); a++){
if(datalist.get(a).replaceAll("\\s+","").contains(field.replaceAll("\\s+",""))){
datalist.remove(a);
}
}
は同じことをやっているし、あなたが実行し、私がやろうとしていると私は何を取得していますかを見ることができます別のコードブロックです:
import java.util.ArrayList;
public class ReplaceAllElementsOfArrayListExample {
public static void main(String[] args) {
ArrayList arrayList = new ArrayList();
String field= "ah3w 38 45 1";
arrayList.add("zj4e 32 4 45");
arrayList.add("ah3w 38 45 1");
arrayList.add("ab2 56 2 45");
System.out.println("Before replacement, ArrayList contains : " + arrayList);
if(arrayList.get(1).replaceAll("\\s+","").contains(field.replaceAll("\\s+",""))){
System.out.println("They are equal : " + arrayList);}
else{
System.out.println("They are not equal : " + arrayList);
}
}
}
Iの前)(トリミングしようとしたが、それdidnt仕事。 –
私はデータを1つずつ取得し、以下のようなリストを追加するような配列リストを埋めました:data.trim(); datalist.add(data); –
"時々、文字の間に複数の空白がある要素がarraylistにあります"。 'trim()'は、他の文字の間に複数の空白があるようなことを修正しないので、あなたはそれを考慮しないでおくことができます。 –