1. ホーム
  2. ジャワ

インデックス0付近のメタ文字''のぶら下がり

2022-03-01 05:41:26

<スパン 問題点







からの転載です。 http://www.javagalaxy.com/forum/viewtopic.php?p=377&sid=2d2152ff1ee06bc37c31b4b40e9a6fad

文字列str = "テスト?







str = str.replaceAll("? ", "");







上記のパターンを使用すると、インデックス0付近で"ダングリングメタ文字''として例外が発生します"











<スパン 解決方法
<スパン







文字列 str = "testing? "。







str = str.replaceAll("//? ", "");







記号と+記号を置き換える場合、上記の解決策を使用することができます。







String str = "テスト?*+"です。







str = str.replaceAll("//*", ""); //"Dangling meta character '*' near index 0".Dangling meta character '*' near index 0".Dangling meta character '*' near index 1"



str = str.replaceAll("//+", ""); //"Dangling meta character '+' near index 0".Dangling meta character '+' near index 0".Dangling meta character '+' near index 0"

記号 +, *, |, / などは、それに応じて正規表現での意味も異なります。



一般的には、[]、または//をつけるだけでよい。







int i=s.split("[?] ").length;

または

int i=s.split("//? ").length;i);