1

文字列に文字(アクセントを含む)、ハイフン、アポストロフィ、および単一スペース以外の文字が含まれている場合、falseを返す式を作成するにはどうすればよいですか?「Влади́мирПу́тинと豊田章男はどうですか?」名前とは何かを判断しようとするのはばかげていると思いますが、これは教育目的のみです。

また、英語の名前で一般的に見られる他の記号はありますか?

4

2 に答える 2

1

あなたはこれを試すことができます:

private static final Pattern namePattern =
    Pattern.compile("^[-' \\p{L}\\p{M}]+$");

public static boolean isValidName(String text) {
    return namePattern.matcher(text).matches()
        && text.indexOf("  ") < 0
        && !text.startsWith(" ") && !text.endsWith(" ");
}
于 2013-03-02T22:11:56.367 に答える
0

単純なグーグル検索はあなたが望むかもしれないようにあなたにフィルターであなたにjava正規表現を与えるでしょう。しかし、有効な名前を取得するためにフィルター機能の一部となる条件を知ることが質問の場合は、ここで素晴らしい議論があります。人々の名前に使用できるすべての文字は何ですか?

于 2013-03-02T20:05:18.010 に答える