alphanumeric
Java では、文字列に,space
および文字のみが含まれていることを確認する必要がありdash
ます。
クラスorg.apache.commons.lang.StringUtils
とほぼ適切なメソッドを見つけましたisAlphanumericSpace(String)
...しかし、ダッシュも含める必要があります。
これを行う最善の方法は何ですか?正規表現を使用したくありません。
あなたが使用することができます:
StringUtils.isAlphanumericSpace(string.replace('-', ' '));
うーん... String.chatAt ( int )を使用して自分でプログラムするだけです。とても簡単です...
位置インデックスを使用して文字列内のすべてのcharを反復し、ASCII 文字 0 ~ 9、a ~ z、および A ~ Z が連続したコードを使用するという事実を使用して比較します。条件:
基本的なコード サンプルを次に示します (CharSequence を使用すると、String だけでなく StringBuilder も引数として渡すことができます)。
public boolean isValidChar(CharSequence seq) {
int len = seq.length();
for(int i=0;i<len;i++) {
char c = seq.charAt(i);
// Test for all positive cases
if('0'<=c && c<='9') continue;
if('a'<=c && c<='z') continue;
if('A'<=c && c<='Z') continue;
if(c==' ') continue;
if(c=='-') continue;
// ... insert more positive character tests here
// If we get here, we had an invalid char, fail right away
return false;
}
// All seen chars were valid, succeed
return true;
}
java.lang.Character の文字クラス メソッドを使用して文字列を繰り返し処理し、各文字が受け入れられるかどうかをテストします。これはおそらく、StringUtils メソッドが行うすべてのことであり、正規表現は、一般化されたエンジンを駆動してほとんど同じことを行う方法にすぎません。
2 つのオプションのうちの 1 つがあります。2. 文字列に含めることができない文字のリストを作成し、文字列チェックをループして、各文字がリストに含まれていないことを確認します。
リストを作成するには、より迅速なオプションを選択してください。
必ず正規表現を使用してください。この正確なタスクのために非常に包括的なシステムが整っている場合、独自のシステムを作成しても意味がありません。正規表現について学習したりブラッシュアップしたりする必要がある場合は、この Web サイトをチェックしてください。http://regexr.com
私はこれで自分自身に挑戦します。