###前提・実現したいこと
javaで禁則文字チェックを作成しています。
禁則文字はプロパティで保持し、javaで取得した際にエスケープが必要な文字が含まれていた場合は
その文字に対してエスケープ処理をしたいです。
禁則文字の一覧は変更可能な設定のため、プロパティの禁則文字じたいにエスケープ処理はいれられません。
あくまでJavaで取得した後に、エスケープ処理をいれたいです。
1.プロパティで保持する禁則文字 : !"#*$%&'()-^@[;:],./
2.エスケープが必要な文字 : ¥ * + . ? { } ( ) [ ] ^ $ - | "
上記「1.」で取得した禁則文字列内に「2.」に該当する文字がある場合は、エスケープ処理を施したいです。
エスケープ前の文字列:!"#$%&'()-^@[;:],./
エスケープ後の文字列:!"#*$%&'()-^@[;:],./\
###該当のソースコード
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while (true) { System.out.println("文字列を入力してください。"); String str = br.readLine(); idCheck(str); }
}
private static void idCheck(String i) {
// 禁則文字 String str = "!"#$%&'()-^\@[;:],./\" // ここにエスケープ処理を実装したいです if (i.matches(".*[" + str + "]+.*")) {// ここで違反文字を判定 System.out.println("NG"); } else { System.out.println("OK"); }
}
回答3件
あなたの回答
tips
プレビュー