Stringに記載されている数字の数、アルファベットの数、記号の数を知る方法 – プログラミング – Home

Stringに記載されている数字の数、...
 
通知
すべてクリア

[解決済] Stringに記載されている数字の数、アルファベットの数、記号の数を知る方法


なおぞう
 なおぞう
(@なおぞう)
ゲスト
結合: 8年前
投稿: 143
Topic starter  

よろしくお願いします。
以下の環境で開発中です
OS Win7 x86
tomcat8
Java java version 1.8.0_77

String pass = Agd42/8-gaddS;

となっている場合に、
大文字アルファベット:2
小文字アルファベット:6
数字:3
記号:2

という結果を知りたいのですが、何か良い関数は無いでしょうか?


引用未解決
トピックタグ
しま
 しま
(@しま)
ゲスト
結合: 17年前
投稿: 123
 

文字の場合は isDigit(), isAlpha(), isUpper(), isLower() などで判別可能です。

文字列から文字種(数字、大文字、小文字)を抜き出すのなら正規表現を使うのが
いいでしょう。ただし、java だけではありませんが文字、文字列で扱うのは1バイトで
表現できるものと決めてかかってはいけません。取扱う文字コードがユニコードの場合 1
6ビットか 32ビットかが最小単位です。(UTF-8 の場合は1バイトか3バイトかが一文字
の単位です)

数字は :\d か [0-9]
小文字は:[a-z]
大文字は:[A-Z]

で指定したパターンに合うものを抜き出した部分文字列の文字数を求めればいいでしょう

以下のサイトが役に立てばいいのですが
http://qiita.com/ymsr5612/items/7c8811b5cf37d700adc4
http://java-reference.sakuraweb.com/java_string_regex.html


返信引用
なおぞう
 なおぞう
(@なおぞう)
ゲスト
結合: 8年前
投稿: 143
Topic starter  

>しま様

URLを教えていただき、ありがとうございます。
一文字ずつ確認して、種類ごとにカウントする方法しかないですね。
文字のバイト数にはどの言語でも泣かされます…。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました