0

次の形式の一連の文字列があります。

String a = "Agregator par. L1-23 2/22.-------->EFM Actelis ML628  8-210  alternative 8-/208                                                        ";

ご覧のとおり、元の形式はあまり見栄えが良くないため、文字列の一部を削除して次の結果を取得したいと思います。

"Agregator par. L1-23 2/22.EFM Actelis ML628  8-210  alternative 8-/208"

ただし、すべての文字列がこの正確な形式に従っているわけではありません。つまり、操作が簡単ではありません。

これが私がやりたいことです:

  • 末尾の空白スペースをすべて削除します(そのうちの約56個ですが、常に同じ数であるとは限りません)
  • -------->文字列の他の部分からハイフンを削除せずに、出現するすべてのを削除します。のハイフンの数は-------->文字列によって異なる場合があります
4

7 に答える 7

1

replaceAllメソッドに正規表現を渡すことができるため、次のように機能します。

String s = "Agregator par. L1-23 2/22.-------->EFM Actelis ML628  8-210  alternative 8-/208";
s = s.replaceAll("-*>", " ");

-正規表現は、の'esの量がわからない場合に特に便利です。----->

于 2012-06-05T07:07:34.027 に答える
1

正規表現を使用して、不要な文字を削除できます。

String a= "Agregator par. L1-23 2/22.-------->EFM Actelis ML628  8-210  alternative 8-/208                                                        ";

     a = a.trim().replaceAll(" +", " ");
     a = a.replaceAll("-*>", " ");

a.trim().replaceAll(" +", " ")最後にすべてのスペースを削除し、複数のスペースがある場合は単一のスペースに置き換えます。

出力: "Agregator par. L1-23 2/22. EFM Actelis ML628 8-210 alternative 8-/208"

于 2012-06-05T07:11:28.617 に答える
0

trim()文字列の途中の空白は削除されません...trim()のAPIドキュメントから取得http://docs.oracle.com/javase/6/docs/api/java/lang/String.html

先頭と末尾の空白を省略して、文字列のコピーを返します。

また、あなたがする場合replaceAll("-------->", "")

正確な文字列"-------->"を置き換えるだけで、ダッシュが少ないか、最後よりも大きくないものはありません。正確な一致ができない場合は、正規表現http://を参照してください。 docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html

于 2012-06-05T07:03:28.643 に答える
0

このようにStringのreplaceメソッドを使用できます。

String a= "Agregator par. L1-23 2/22.-------->EFM Actelis ML628  8-210  alternative 8-/208 ";
a=a.replace("-------->", " "); //to replace the arrow
a=a.replace("  ", " "); //to replace the double spaces

結果:Agregator par. L1-23 2/22. EFM Actelis ML628 8-210 alternative 8-/208

于 2012-06-05T07:06:38.807 に答える
0

apache common-langのStringUtilsクラスは、String、FQNorg.apache.commons.lang.StringUtilsに対して簡単で手軽な操作を提供します。

于 2012-06-05T15:18:20.333 に答える
0

split( "----->")を使用して、結果の配列を結合します

String [] array = s.split("---->");
String snew = "";
for(int i=0;i<array.length;i++){
   snew += array[i];
}
于 2012-06-05T07:07:44.313 に答える
0

次のことができます。1-String.replace()メソッドを使用して、文字列内の何かを置き換えます。2-正規表現を使用して、文字列内の特定のパターンを検索します( "--->"、 "->"、 "--------->"など)

于 2012-06-05T07:10:10.060 に答える