アフィリエイト広告を利用しています


スキル無しのシステムインストラクターから、システムエンジニアへの転身日記。
◇◆◇ 2013年取得資格
LPICレベル1
LPICレベル2
LPICレベル3 Core
LPICレベル3 Speciality 302
LPICレベル3 Speciality 303
LPICレベル3 Speciality 304

Cisco CCENT
Cisco CCNA

Java SE 7 Silver
Java SE 7 GOLD

OSS-DB Silver

◇◆◇ 2014年取得資格
HTML5 Professional レベル1

広告

posted by fanblog

JavaEEの前に復習をしてみる その14 文字列の切り出しと正規表現

前回の続きですね。文字列関連です。
あ、何気に、この辺、Java SE 7 Gold の文字列処理の試験範囲ですので。
取得を目指している人は、さらっと読めるようになってないとピンチかも。

オラクル認定資格教科書 Javaプログラマ Gold SE 7 (EXAMPRESS)

新品価格
¥4,410から
(2014/3/8 21:24時点)




オラクル認定資格教科書 Javaプログラマ Gold SE 7 スピードマスター問題集 (EXAMPRESS)

新品価格
¥3,780から
(2014/3/8 21:25時点)




あれ??スピードマスターでも出るんかい!!おじさん、びっくりしたわぁ。
同じ翔泳社でつぶし合うのですね。でも、スピードマスターは問題集だからな。
ササッと受かりたい人は、問題集でもいいかもね。
参考書そろってきたなぁ・・・でも、Java SEは、もう8だしな。ついてけないわー。

1.文字列の切り出し

public class JavaString3 {

public static void main(String [] args){
String st4 = "アサイー飲んで運動して健康な生活を送る" ;

System. out.print(st4.substring(0,1)+st4.substring(2,3)+st4.substring(9,11)+st4.substring(18));

}
}


st4.substring(int index,int endIndex)
ということで、文字列の最初の切り出しと、切り出しの終わり位置を指定して文字を切り出します。
endIndexを指定しないと、切り出し位置から最後の位置までを表示します。

結果は、ちょっとしたクイズ。クイズでも何でもないですね。

あとで、別記事で紹介しますが、この切り出し技術があれば他サイトの更新情報をまるっと抜き取ることができます。
あくまで個人で楽しむだけになりますが、成形して自分で分かりやすいように使ったりできると思います。

2.正規表現

あまり得意ではない。正規表現です。
正規表現の書き方って、言語依存な仕様になっていたりするので、
Rubyだったり、シェルスクリプトだったり、Javaだったりで分からなくなります。

勿論、今回は、Javaの正規表現です。

例えば、プログラムに使うユーザー名は、最初の文字は数字が禁止で
6文字のユーザー名で指定しなければならない場合のプログラムを作ります。


public class JavaString4 {

public static void main(String [] args){

String userName1 = "2man001";
String userName2 = "tw0Man";
String userName3 = "shadeday0" ;

System. out.println(userName1.matches("[a-zA-Z][a-zA-Z0-9]{5}" ));
System. out.println(userName2.matches("[a-zA-Z][a-zA-Z0-9]{5}" ));
System.out.println(userName3.matches( "[a-zA-Z][a-zA-Z0-9]{5}" ));
}
}



結果は、

false
true
false


です。

正規表現って、全く触れたことがないとただの暗号ですよね。
matches を使って、一致する場合はtrue。それ以外はfalseと返すようにしています。

問題のここですが、
[a-zA-Z][a-zA-Z0-9]{5}

まず初めに、[a-zA-Z]ですが、1文字目をアルファベットのa~z、またはA~Zと一致するとしています。
そして、[a-zA-Z0-9]{5}は、a~zとA~Zと1~9と一致するを5回繰り返すとしています。

String userName1は、1文字目が数字なのでNGですね。
String userName2は、1文字目がアルファベットで、残り5文字がアルファベット、または数字なのでOKです。
String userName3は、6文字以上なのでNGです。

もし、条件が、「6文字”以上”のユーザー名で指定しなければならない場合」であったなら、
System. out.println(userName3.matches( "[a-zA-Z][a-zA-Z0-9]{5,}" ));
とすればOKです。
数字の後に「,」をつけるだけです。

もし、条件が、6文字以上かつ8文字以内のユーザー名で指定しなければならない場合」であったなら、
System. out.println(userName3.matches( "[a-zA-Z][a-zA-Z0-9]{5,7}" ));
数字の後に「,7」と終点を指定するだけです。

何とかここまで理解したところで、混乱させますが、
実は、
System. out .println(userName1.matches("[a-zA-Z][a-zA-Z0-9]{5}" ));
System. out.println(userName0.matches( "[^\\d]\\w{5}" ));

と書いても一緒なのです。

\\d(\d)は、「0-9」を意味しており、[^]は、否定になるので、「0-9以外」となります。
\\w(\w)は、[a-zA-Z]を意味しております。

よって結果は一緒なのです。

そして、私だけかな。正規表現の書き方で混乱するポイントはもう一つあって、

文字列の頭にAがつくという条件の時は、「^A」
文字列の最後ににZがつくという条件の時は、「Z$」を使います。

え?「^」は否定なんでしょ?行頭文字にも使うの?
先ほどの、否定は忘れて、下記コードを見てみましょう。

package test;

public class JavaString5 {

public static void main(String [] args){

String userName1 = "ABC" ;
String userName2 = "XYZ" ;


System. out .println(userName1.matches("^A\\w{2}" ));
System. out .println(userName2.matches("X\\wZ$" ));


}
}


ここでは、
1行目の出力文では、Aから始まり、[a-zA-Z]な3文字だった場合True
2行目の出力分では、Xから始まり、[a-zA-Z]な2文字目を持ち、Zで終わる場合Trueになります。

"^A"の場合は行頭指定、"[^A]"の場合は、A以外の文字列となります。
焦っていると間違えそうなので、ここは要注意ですね。

ちょっとグダグダですが、正規表現を使うと、文章の切り抜きが楽にできます。
またの機会にでも、実際のサイトから文章を切り抜いてみたいと思います。

コメント

お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのコメント

CfhgfGronure|2023年03月07日(Tue) 18:25
noclegi pracownicze Augustw http://noclegipracownicze-augustow.online Needay Needay wreva noclegi pracownicze nieopodal augustowa noclegi augustow ul.rajgrodzka apartament w augustowie augustow pensjonat mb noclegi pracownicze niedaleko augustowa
AjtekaGronure|2022年10月18日(Tue) 00:41
stx21 http://jeofhidefbi.com Needay Needay wreva nowe mieszkania w augustowie noclegi w augustowie noclegi w augustowie olx tanie noclegi w centrum augustowa noclegi augustow bon turystyczny
AjtekGronure|2022年10月15日(Sat) 14:17
phitle|2022年10月09日(Sun) 04:39
stx21 Needay Needay wreva noclegi pracownicze w augustowie apartamenty augustow lodz nocleg augustow noclegi augustow jezioro biale noclegi pracownicze niedaleko suwalk
WitekGronure|2022年09月27日(Tue) 15:52
stromectol 3 mg tablets <a href="https://stromectolusdt.com/#">stromectol 6 g</a>
baljpgea|2022年07月02日(Sat) 07:49
<a href="https://ivermectinetc.com/#">buy 12 mg stromectol</a>
rasghpjk|2022年06月26日(Sun) 15:52
<a href="http://www.ivermectinoge.com/#">generic stromectol 6 mg</a>
vndzohnh|2022年06月26日(Sun) 13:25
buy 6 mg stromectol https://www.ivermectinoge.com/
wobldpcf|2022年06月17日(Fri) 16:09
ivermectin online canada <a href="http://www.ivermectinusd.com/#">order ivermectin online</a> cheapest ivermectin online
ksnwvzfl|2022年06月17日(Fri) 13:25
what Is The Price Of Generic <a href="http://cialisvet.com">Cialis</a> In Canada?
ghsrhcdt|2022年06月07日(Tue) 19:52
where To Buy <a href="https://cialisvet.com">Cialis</a> In Saline County?
oydnjeen|2022年06月07日(Tue) 17:17
why Doesn't <a href="https://cialisvet.com">Cialis</a> Work For Me?
wdtsagxw|2022年05月30日(Mon) 12:10
how To Take 20mg <a href="https://cialisvet.com">Cialis</a>?
nmueojvb|2022年05月29日(Sun) 07:12
modafinil 100mg cost <a href="https://modafinille.shop/#">order provigil sale</a>
qfufdnga|2022年05月28日(Sat) 14:08
buy modafinil <a href="https://buymodafinilex.shop/">order generic modafinil 200mg</a>
nwxzigfn|2022年05月15日(Sun) 02:42
order modafinil pills <a href="https://modafinille.shop/">modafinil 100mg pills</a>
wjvbjloq|2022年05月09日(Mon) 09:19
buy generic cialis online with mastercard <a href="https://nextadalafil.com/#">generic cialis online fast shipping</a>
Skewayqaao|2022年02月25日(Fri) 01:43
tadalafil generic <a href="https://extratadalafill.com/#">cialis at canadian pharmacy</a>
Skewayetpk|2022年02月13日(Sun) 12:29
tadalafil liquid https://nextadalafil.com/
tadalafil without a doctor prescription|2022年01月21日(Fri) 22:30
Skewayiccg|2022年01月08日(Sat) 12:29
Стоматология в Москвe eвропейские матрериалы
https://soyfer.ru/
Центр профессиональной стоматологии - услуги платной стоматологии и лицевой хирургии в Москве
[url=https://soyfer.ru/]soyfer.ru[/url]
RichardVuh|2021年12月30日(Thu) 04:21
Стоматология в Москвe
https://americandental.ru/
Нам доверяют многие.Комплексный подход. Гарантия качества. Быстрое лечение. Услуги: Правильный прикус, Отбеливание, Восстановление зубов.
[url=https://americandental.ru/]americandental.ru[/url]
Aellyirove|2021年12月21日(Tue) 16:55
Стоматология в Москвe eвропейские матрериалы
https://soyfer.ru/
Центр профессиональной стоматологии - услуги платной стоматологии и лицевой хирургии в Москве
[url=https://soyfer.ru/]soyfer.ru[/url]
Ajjllyirove|2021年12月16日(Thu) 00:06
cialis tablets <a href="https://cialiswithdapoxetine.com/#">cialis 20mg</a>
buy cialis usa|2021年12月10日(Fri) 11:56
Стоматология в Москвe eвропейские матрериалы
https://dentaquest.ru/
Нам доверяют многие.Комплексный подход. Гарантия качества. Быстрое лечение. Услуги: Правильный прикус, Отбеливание, Восстановление зубов.
[url=https://dentaquest.ru/]dentaquest.ru[/url]
Annairove|2021年12月08日(Wed) 22:07
Superb stuff|Nicely put, Kudos
https://isicpr.org/page-164/
I enjoy the standpoint!
[url=https://isicpr.org/page-164/]https://isicpr.org/[/url]
RichardInino|2021年12月02日(Thu) 17:06
Стоматология в Москвe
https://dentaquest.ru/
Нам доверяют многие.Комплексный подход. Гарантия качества. Быстрое лечение. Услуги: Правильный прикус, Отбеливание, Восстановление зубов.
[url=https://dentaquest.ru/]dentaquest.ru[/url]
Annairove|2021年12月01日(Wed) 20:59

What sort of camera was used? That is definitely a great high quality.

<a href=https://comprarcialis5mg.org/it/comprare-spedra-avanafil-senza-ricetta-online/>avanafil generico</a>

Some remarkable photos. Amazing shades.
[url=https://comprarcialis5mg.org/it/comprare-spedra-avanafil-senza-ricetta-online/]avanafil prezzo[/url]
AKellyirove|2021年12月01日(Wed) 03:13
Greetings! I know this is kinda off topic but I was wondering which blog platform are youu using for this site?

I'm getting tired of Wordpress because I've
had problems with hackers andd I'm looking at alternatives for another platform.
I would be fantastic if you could point me inn the direction of a good platform.

https://comprarcialis5mg.org/it/comprare-spedra-avanafil-senza-ricetta-online/
spedra 200 mmg 12 cmpresse prezzo
Alisia|2021年10月02日(Sat) 10:26
Why viewers still use to read news papers when in this technological world all is accessible on web?

https://comprarcialis5mg.org/cialis-5-mg-precio/
cialis precio en farmacia espana
Stacy|2021年09月28日(Tue) 19:16
This paghe truly hass all the information I
needed about this subject and didn't know who
to ask.
https://www.1rnd.ru/news/3172728/russkij-kvartal-na-severnom-kipre
________ ____
Alfonso|2021年09月28日(Tue) 00:22
Hi, I read your blogs daily. Your humoristic style is awesome, keep
it up!
https://streetchallenge.ru/
Cleveland, Cleveland,
Mandy|2021年09月01日(Wed) 10:52
Hi, I read your blogs daily. Your humoristic style
is awesome,keep it up!
https://streetchallenge.ru/
Cleveland, Cleveland,
Mandy|2021年09月01日(Wed) 10:49
Nice blog righ here! Additionally your web site loads up
very fast! What web host are you thhe usaage of?
Can I get your associate hyperlink to your host? I wabt my website loaded up
as quickly as yours lol
http://cse.google.tk/url?q=https://comprarcialis5mg.org/it/comprare-spedra-avanafil-senza-ricetta-online/
Leonard (Leonard)
Izetta|2021年08月31日(Tue) 19:57
do you need a prescription for hydroxychloroquine https://pharmaceptica.com/
www.pharmaceptica.com|2021年06月23日(Wed) 19:45
positive behavior reinforcement jar community cast today , pills ivermectin [url=http://ivermectin.in.net/#]ivermectin for humans[/url] community bible church arlington ohio. community america topeka ks positive and negative relationship . community action partnership minneapolis [url=https://www.bing.com/news/apiclick.aspx?ref=FexRss&aid=&url=http://ivermectin.in.net/#]buy ivermectin for humans[/url] , community bank kingston community legal aid centres victoria positive adjectives ks2 [url=http://ictopschool.one/forum/index.php/topic,232042.new.html#new]community impact Canada[/url] 157c9d4 , positive synonym , community action partnership energy assistance application .
IPlasianus#randeom[a..z]a|2021年06月20日(Sun) 04:24
community america online banking community action food pantry , Ivermectin 3 mg sale [url=http://ivermectinsale.me/#]ivermectin for sale humans[/url] followers vs subscribers twitch. followers qr code for instagram social unrest meaning . friends with kids [url=https://cse.google.be/url?q=http://ivermectin.in.net/#]ivermectin for humans[/url] , community acquired pneumonia articles positive quotes to keep going social thinking [url=http://ali213.cn/web/viewtopic.php?p=59685#59685]positive feedback has occurred when spain[/url] 4f335ec , community action partnership montgomery county , positive correlation word problems .
KPlasianus#randeom[a..z]h|2021年06月15日(Tue) 10:37
medicaments iec pharmacie angers faculte , zunzun therapies pharmacie bourges ouverte , [url=https://cse.google.be/url?q=https://kit.co/picump/achat-nizagara-a-prix-bas-nizagara-livraison-france#]Acheter Nizagara livraison rapide France[/url] pharmacie bordeaux aeroport [url=https://clients1.google.fr/url?q=https://kit.co/nectiu/achat-esbriet-a-prix-bas-esbriet-livraison-france#]Acheter Esbriet livraison rapide France[/url] , pharmacie amiens nord medicaments fibromyalgie , pharmacie carrefour market annecy le vieux. pharmacie bailly promotion pharmacie meleye amiens [url=https://cse.google.be/url?q=https://kit.co/muhas/achat-colchicine-a-prix-bas-colchicine-livraison-france#]Achat Colchicine Г prix bas. Colchicine livraison France[/url] , pharmacie mermoz. therapies de couple essonne, therapie gratuite traitement keratose . therapies comportementales et cognitives prix, pharmacie santini avignon therapie zonale pharmacie de garde marseille 10 mai 2020 .
HSnurbboumbar|2021年06月09日(Wed) 03:50
pharmacie de garde dunkerque, pharmacie auchan petite foret pharmacie leader sante argenteuil [url=https://maps.google.fr/url?q=https://is.gd/8UnFVz#]Soolantra moins cher[/url] , https://www.etracker.com/lnkcnt.php?et=qPKGYV&url=https://is.gd/8UnFVz# pharmacie leclerc trie chateau. therapie comportementale et cognitive montreal [url=https://www.etracker.com/lnkcnt.php?et=qPKGYV&url=https://bit.ly/3x1HR9B#]premarin vente en pharmacie[/url] , pharmacie theron boulogne billancourt medicaments torsadogenes , therapie de couple youtube. pharmacie grand bailly pharmacie angers ney , les therapies comportementales cognitives et emotionnelles en 150 fiches pharmacie mistral avignon [url=https://mail.portailoniria.com/node/90#comment-6378814]community first credit union wisconsin ooho[/url] 57c9d4f , traitement roaccutane. act therapy nz pharmacie ouverte grasse , therapie comportementale cognitive gard pharmacie brest rue de siam pharmacie beauvais rue de clermont. pharmacie leclerc urrugne pharmacie de bailly paris act therapy halifax.
HSarfeleme|2021年04月17日(Sat) 01:33
positive affirmations job search positive correlation test insurance , ivermectinsale.me <a href=http://ivermectinsale.me/#ivermectin-for-sale>ivermectin sale</a> community uplift definition. strategic planning process kotler community college history . community action partnership in san bernardino <a href=http://search.bt.com/result?p=www.open.edu/openlearn/profiles/zv907887#>Ivermectine en ligne</a> , community action works community blood center appointment community definition national geographic <a href=http://thecastlefuncenter.com/forum/viewtopic.php?f=8&t=487386>community bridges on bellevue usa</a> 129b38a , positive and negative kurtosis difference in standard deviation, acheter amoxicilline en ligne <a href=search.bt.com/result?p=www.open.edu/openlearn/profiles/zv908165&poi&rd=r2&y=Web%2BSearch#>acheter amoxicilline</a> , community action council of the lehigh valley .
CJendy|2021年04月13日(Tue) 23:36
pharmacie gare de triage argenteuil , https://www.open.edu/openlearn/profiles/zv917655# pharmacie de garde wimereux. pharmacie ouverte halluin <a href=https://www.open.edu/openlearn/profiles/zv916882#>Fluoxetine kaufen online ohne rezept</a> , pharmacie en ligne port gratuit , pharmacie en ligne reunion. pharmacie ouverte villejuif , <a href=http://orca-diving.ru/ru/component/kunena/2-dajving/149532-community-action-council-pierce-county-ooho.html#149532>community action council pierce county ooho</a> 047d8_5 pharmacie de garde cherbourg. pharmacie de beaulieu nantes <a href=https://www.open.edu/openlearn/profiles/zv917803#>Topamax 200 mg rezeptfrei kaufen apotheke</a> , virginie rettel - therapies breves - hypnose pnl eft nancy pharmacie lafayette saint quentin horaires. pharmacie de garde wissous aujourd'hui .
Brogbreenry|2021年03月23日(Tue) 00:20
chloroguine <a href=https://chloroquineorigin.com/#>aralen</a> what is chloroquine
mefloquine|2021年02月25日(Thu) 10:20
hydroxychloroquine side effect <a href=https://hydroxychloroquinex.com/#>hydroxyzine hydrochloride</a> plaquenil wiki
raoult didier|2021年02月20日(Sat) 10:22
erectile bands <a href=https://plaquenilx.com/#>plaquenil depression</a> erectile function restored after turp
plaquenil used for|2021年02月13日(Sat) 09:29
Tina|2020年09月23日(Wed) 20:09
cost of keflex antibiotic
Eileen|2020年08月31日(Mon) 09:09
chloroquine phosphate 500 mg
Edison|2020年07月11日(Sat) 14:35
buy careprost
Stanton|2020年05月03日(Sun) 04:23
buy tylenol
Shanice|2020年05月01日(Fri) 17:36
cialis online
Maricruz|2020年04月11日(Sat) 01:02
where to buy amoxicilin
Rachelle|2020年04月10日(Fri) 03:09
   
×

この広告は30日以上新しい記事の更新がないブログに表示されております。