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

Stringに記載されている数字の数、...
 
Notifications
Clear all

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

  RSS

なおぞう
 なおぞう
(@なおぞう)
ゲスト
参加: 5年 前
投稿: 143
2016年4月22日 9:06 PM  

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

String pass = Agd42/8-gaddS;

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

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


引用未解決
Topic Tags
しま
 しま
(@しま)
ゲスト
参加: 14年 前
投稿: 123
2016年4月23日 8:48 AM  

文字の場合は 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


返信引用
なおぞう
 なおぞう
(@なおぞう)
ゲスト
参加: 5年 前
投稿: 143
2016年4月25日 12:00 PM  

>しま様

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


返信引用

返信する

Author Name

Author Email

タイトル *

Preview 0 Revisions Saved
Share:
タイトルとURLをコピーしました