文字列から角かっこを削除したいのですが、方法がわかりません。
String str = "[Chrissman-@1]";
str = replaceAll("\\[\\]", "");
String[] temp = str.split("-@");
System.out.println("Nickname: " + temp[0] + " | Power: " + temp[1]);
しかし、私の結果は次のとおりです。 1]角かっこは削除されません。
別の正規表現"\\[.*?\\]"
、"\\[\\d+\\]"
を使用してみましたが、結果は同じで、文字列に角括弧がまだ付いています。
編集:
私は試した:
str.replaceAll("]", "");
str.replaceAll("[", "");
そして今、私は得ています:
Exception in thread "Thread-4" Java.util.regex.PatternSyntaxException: Unclosed character class near index 0
[
^
at Java.util.regex.Pattern.error(Unknown Source)
at Java.util.regex.Pattern.clazz(Unknown Source)
at Java.util.regex.Pattern.sequence(Unknown Source)
at Java.util.regex.Pattern.expr(Unknown Source)
at Java.util.regex.Pattern.compile(Unknown Source)
at Java.util.regex.Pattern.<init>(Unknown Source)
at Java.util.regex.Pattern.compile(Unknown Source)
at Java.lang.String.replaceAll(Unknown Source)
ReplaceAllメソッドは、String
内に存在しない文字列リテラル[]
の照合を試みています。これらのアイテムを個別に置き換えてみてください。
String str = "[Chrissman-@1]";
str = str.replaceAll("\\[", "").replaceAll("\\]","");
正規表現は、後続の角かっこのみに一致(および削除)します。代わりにこれを使用してください:
str = str.replaceAll("\\[|\\]", "");
中間のコンテンツでブラケットペアのみを置換する場合、これを使用できます。
str = str.replaceAll("\\[(.*?)\\]", "$1");
現在、exact string []
-間に何もない2つの角括弧を削除しようとしています。代わりに、すべての[
を削除し、すべての]
を個別に削除します。
個人的には、ここではreplaceAll
を使用することを避けます。正規表現の部分により混乱が生じるためです。
String replaced = original.replace("[", "").replace("]", "");
really完全なパターンマッチングを行いたい場合にのみ、正規表現を使用するメソッドを使用してください。発生したすべての固定文字列を単に置換したい場合、replace
は読みやすく、理解しやすいです。
(正規表現形式を使用し、実際にパターンに一致する代替アプローチがありますが、上記のコードは非常に簡単だと思います。)
正規表現を使用[\\[\\]]
-
String str = "[Chrissman-@1]";
String[] temp = str.replaceAll("[\\[\\]]", "").split("-@");
System.out.println("Nickname: " + temp[0] + " | Power: " + temp[1]);
出力-
Nickname: Chrissman | Power: 1
次のようにすることもできます。
String data = "[yourdata]";
String regex = "\\[|\\]";
data = data .replaceAll(regex, "");
System.out.println(data);
Use this line:) String result = strCurBal.replaceAll("[(" what ever u need to remove ")]", "");
String strCurBal = "(+)3428";
Log.e("Agilanbu before omit ", strCurBal);
String result = strCurBal.replaceAll("[()]", ""); // () removing special characters from string
Log.e("Agilanbu after omit ", result);
o/p :
Agilanbu before omit : (+)3428
Agilanbu after omit : +3428
String finalVal = result.replaceAll("[+]", ""); // + removing special characters from string
Log.e("Agilanbu finalVal ", finalVal);
o/p
Agilanbu finalVal : 3428
String finalVal1 = result.replaceAll("[+]", "-"); // insert | append | replace the special characters from string
Log.e("Agilanbu finalVal ", finalVal1);
o/p
Agilanbu finalVal : -3428 // replacing the + symbol to -
String str, str1;
Scanner sc = new Scanner(System.in);
System.out.print("Enter a String : ");
str = sc.nextLine();
str1 = str.replaceAll("[aeiouAEIOU]", "");
System.out.print(str1);