2014年02月22日
JavaEEの前に復習をしてみる その13 文字列の調査や検索
Stringって文字列を表示するだけのものではなくて、
文字情報の比較・検索・抽出にも使えるので、例えばYahoo天気のページから
今日の天気や明日の天気のデータを抽出するような時にも使えます。
今日は、Stringを使った文字列操作を学習してみます。
1.文字列の調査
public class JavaString {
public static void main(String [] args){
String st1 = "Javaを勉強しています" ;
String st2 = "javaを勉強しています" ;
if (st1.equals(st2)){
System. out .println("この文字列は一緒です" );
} else if (st1.equalsIgnoreCase (st2)){
System. out .println("大文字小文字を区別しなければ一緒です" );
} else {
System. out .println("違います" );
}
}
}
例えば、上記のようなプログラムを作った場合、結果は、
「大文字小文字を区別しなければ一緒です」
という結果が返ってきます。
ここでは、
st1.equals(st2)
st1.equalsIgnoreCase (st2)
の2つを使っていますが、
st1とst2が同一であるかを比較する構文になっています。
st1.equals(st2)の場合は、文字列の完全一致を求めているので、
st1とst2は、Java と java の違いがあるので同一と判断されません。
しかし、st1.equalsIgnoreCaseは、大文字小文字を区別しませんので、
同一の文字列として認識し、else ifの結果が返ってくるといったようになります。
あと、よく使うのが、文字列の長さを調べるlengthですね。
System. out.println(st1.length());
とすると、12という文字列の長さを返すことができます。
2.文字列の検索
以下のようになプログラムを書きます。
public class JavaString2 {
public static void main(String [] args){
String st3 = "ブログ記事にJavaScriptとJava" ;
System. out .println(st3.contains("Java" ));
System. out .println(st3.startsWith("ブログ" ));
System. out .println(st3.endsWith("Java" ));
System. out .println(st3.indexOf("Java" ));
System. out .println(st3.lastIndexOf("Java" ));
}
}
結果は、
true
true
true
6
17
一つ一つの役割ですが、
st3.contains("Java" )
こちらは、Javaが文字列に含まれていればTrueを返します。
st3.startsWith("ブログ" )
こちらは、頭にブログという文字列があればTrueを返します。
st3.endsWith("Java" )
想像がつくかとは思いますが、文字列の最後にJavaがあればTrueを返します。
st3.indexOf("Java" )
こちらは、Javaを頭から検索して何文字目にJavaがあるかを示します。
(0)ブ(1)ロ(2)グ(3)記(4)事(5)に(6)Java
で、6という数字が返ってきます。
st3.lastIndexOf("Java" )
こちらは、文字列の最後からJavaという文字列を検索して、
頭から何文字目にあるかという検索の仕方です。最初のJavaよりも最後のJavaの文字列の方が優先されます。
文字列操作だけで、かなり楽しい感じです。
次回も文字列に関する記事を書いていきます。
文字情報の比較・検索・抽出にも使えるので、例えばYahoo天気のページから
今日の天気や明日の天気のデータを抽出するような時にも使えます。
今日は、Stringを使った文字列操作を学習してみます。
1.文字列の調査
public class JavaString {
public static void main(String [] args){
String st1 = "Javaを勉強しています" ;
String st2 = "javaを勉強しています" ;
if (st1.equals(st2)){
System. out .println("この文字列は一緒です" );
} else if (st1.equalsIgnoreCase (st2)){
System. out .println("大文字小文字を区別しなければ一緒です" );
} else {
System. out .println("違います" );
}
}
}
例えば、上記のようなプログラムを作った場合、結果は、
「大文字小文字を区別しなければ一緒です」
という結果が返ってきます。
ここでは、
st1.equals(st2)
st1.equalsIgnoreCase (st2)
の2つを使っていますが、
st1とst2が同一であるかを比較する構文になっています。
st1.equals(st2)の場合は、文字列の完全一致を求めているので、
st1とst2は、Java と java の違いがあるので同一と判断されません。
しかし、st1.equalsIgnoreCaseは、大文字小文字を区別しませんので、
同一の文字列として認識し、else ifの結果が返ってくるといったようになります。
あと、よく使うのが、文字列の長さを調べるlengthですね。
System. out.println(st1.length());
とすると、12という文字列の長さを返すことができます。
2.文字列の検索
以下のようになプログラムを書きます。
public class JavaString2 {
public static void main(String [] args){
String st3 = "ブログ記事にJavaScriptとJava" ;
System. out .println(st3.contains("Java" ));
System. out .println(st3.startsWith("ブログ" ));
System. out .println(st3.endsWith("Java" ));
System. out .println(st3.indexOf("Java" ));
System. out .println(st3.lastIndexOf("Java" ));
}
}
結果は、
true
true
true
6
17
一つ一つの役割ですが、
st3.contains("Java" )
こちらは、Javaが文字列に含まれていればTrueを返します。
st3.startsWith("ブログ" )
こちらは、頭にブログという文字列があればTrueを返します。
st3.endsWith("Java" )
想像がつくかとは思いますが、文字列の最後にJavaがあればTrueを返します。
st3.indexOf("Java" )
こちらは、Javaを頭から検索して何文字目にJavaがあるかを示します。
(0)ブ(1)ロ(2)グ(3)記(4)事(5)に(6)Java
で、6という数字が返ってきます。
st3.lastIndexOf("Java" )
こちらは、文字列の最後からJavaという文字列を検索して、
頭から何文字目にあるかという検索の仕方です。最初のJavaよりも最後のJavaの文字列の方が優先されます。
文字列操作だけで、かなり楽しい感じです。
次回も文字列に関する記事を書いていきます。
【Javaの最新記事】
この記事へのコメント
sildenafil without prescription http://www.fildena.makeup/ buy fildena pills
Q: https://cialiserp.net/ ordering Cialis online
<a href="http://www.cenforcehim.com/kamagra_soft.html">buy kamagra melbourne</a>
True low-down in the air pills. Get here.
<a href="https://cenforcehim.com/vilitra.html">vilitra 40 mg reviews</a>
All what you thirst for to differentiate down medicine. Retain here.
<a href="https://cenforcehim.com/kamagra_soft.html">kamagra jelly side effects</a>
Paramount round meds. Fall ill news here.
Source: <a href="https://clspls.com/ ">cialis coupon walmart</a>
<a href="https://stromectolist.com">anti parasite medicine</a>
https://himsprescription.com ivermectin for humans
Kindest information about medicament. Interpret now.
https://abilify.beauty paxil for ocd
<a href="https://propecia24.top">propecia cheapest price</a>
First-rate about drug. Read here.
Source: <a href="https://clspls.com/ ">when will cialis be over the counter</a>
Source: <a href="https://clspls.com/ ">cheap cialis online</a>
Source: <a href="https://clspls.com/ ">tadalafil 5mg price</a>
best ed pills online
<a href="https://furosemidevs.com/">lasix pills 20 mg</a>
side effects of lasix
<a href=https://furosemidevs.com/>lasix</a>
lasix pills 20 mg
<a href=http://sansordonnancemd.com/>le cialis</a>
<a href=http://sansordonnancefr.com/>levitra 10 mg sans ordonnance</a>
<a href=http://albuterolotc.com/>purple inhaler</a>
<a href=http://sildenafilhim.com/>sildenafil reviews</a>
<a href=http://essinreceta.com/>tadalafilo</a>
http://ivermectini.com
<a href=https://ivermectino.com/>ivermectin tablets over counter</a>
<a href=https://pharmvolk.com/>european pharmacies shipping to usa</a>
<a href=https://ivermectinhome.com/>can i buy ivermectin online</a>
<a href=https://amoxilotc.com/>amoxil antibiotics</a>
<a href=https://cialis20walmart.com/>online pharmacy cialis</a>
https://kamagramama.com
<a href=https://amoxilotc.com/>750 mg amoxicillin</a>
<a href=https://ivermectiny.com/>buy ivermectin</a>
<a href=https://goldkamagra.com/>buy kamagra online usa</a>
<a href=https://himshairloss.com/>price of propecia in usa</a>
<a href=https://pharmvolk.com/>best website to buy medication</a>
http://vardenafilz.com
https://www.ringeraja.hr/forum/en_línea_Prednisone_%2F_Prednisone_2mg_tabletas_precio/m_983291/tm.htm
https://camp-fire.jp/profile/Adipex-64433835
https://camp-fire.jp/profile/Propecia-65270718
https://www.ringeraja.hr/forum/En_Ligne_Acetaminophen_%40_Acetaminophen_Pas_Cher_Quebec/m_975103/tm.htm
https://ivermcov.com ivermectina online health insurance quotes
http://ivermectinus.com ivermectin pills for humans doctor directory
https://ivermectineffects.com where to buy ivermectin for humans
https://stromectolhumans.com ivermectin tablets dosage
http://levitradd.com levitra dosing
http://kamagraday.com how long does sildenafil last
http://kamagraday.com kamagra france
http://stromectolhome.com ivermectin 3 mg tab
http://stromectolhome.com ivermectin for humans dosage
http://fildenahim.com crystal medicine fildena review
<a href=https://stromectolhumans.com>ivermectin for humans dosage</a>
fda warning list cialis https://edplsgeneric.com/ cheap cialis
<a href=https://edplsgeneric.com/#>cialis 30 day trial voucher</a> where to get cialis sample
price of cialis https://edplsgeneric.com/ cialis and interaction with ibutinib
<a href=http://cialisirt.com/#>cialis 100 mg lowest price</a> buy cialis online
cheapest cialis web prices http://cialisirt.com/ otc cialis
<a href=http://cialisirt.com/#>cialis generic availability</a> does cialis make you bigger
cialis tadalafil 20 mg http://cialisirt.com/ the cost of cialis
<a href=http://cialisirt.com/#>purchasing cialis on the internet</a> otc cialis
cialis for peyronie http://cialisirt.com/ coupons for cialis
<a href=http://cialisirt.com/#>average price cialis</a> generic cialis without prescription
generic for cialis https://edplsgeneric.com/ is cialis generic available
<a href=http://cialisirt.com/#>real cialis without a doctor's prescription</a> cialis coupons 2019
generic cialis tadalafil https://edplsgeneric.com/ cost of cialis 20mg tablets
<a href=https://edplsgeneric.com/#>free cialis medication for providers</a> how much does cialis cost at walmart
cialis 20 mg https://edplsgeneric.com/ free cialis medication for providers
<a href=https://edplsgeneric.com/#>5mg cialis</a> generic cialis black 800mg
real cialis without a doctor prescription http://cialisirt.com/ cialis 20mg
<a href=http://cialisirt.com/#>cialis for daily use</a> side effects for cialis
order ciplox online
<a href=http://bio-catalyst.com/>order zyvox online</a> keflex price
おはようございます。
苦労だなんてとんでもないですよ。
沢山のコメントありがとうございました。
HTML5やJSから入るのもありだと思います。
オブジェクト指向だったり、APIのことについては、
クライアントサイドでプログラミングするのであれば、そんなに意識することもないでしょうし。
私も設計して・・・というのは、難しいなと思っていましたが、
設計なしでコードを書くことが、実際のBtoBの取引だったら、
まぁ、まずありえないですね。
必ず、コードはスパゲッティになってしまいますね。。。
ハーイ、頑張ります。
>ちゃんと5件
ちゃんと反映されていてよかったです^^。
一度に沢山のコメで、レスに苦労されたとは思いますが^^;。
>最新コメントが反映されない
確かにそうですね^^;。
後から確認すると、コメを書き込んだ記事にはコメがありましたが、トップページに戻ると、コメが反映されていなかったですね^^;。
ひょっとすると、ブログの仕様か何かでディレイが生じるのかもしれないですね。
また、コメを投入してから、各記事にコメが反映されるには多少時間が掛かる場合があるのかもしれないですね^^;。
暫く待って、各記事にコメが反映されましたからね^^;。
色々とお騒がせしたようで失礼致しました^^;。
>Scriptかければ
それでは、まずはスクリプト言語から覚えていきますねw。
プログラムはそれからという事で(ダマレw)。
>設計をしっかりする
コードを書き始める前に、構成が既に出来ているというわけですねw。
わたしは作りながら修正していくタイプだから、そんな芸当無理だわwww。
>論理的に仕事をするために
プロgラムに必要な考え方を学んで是非頑張ってくださいねw。
コメント沢山ありがとうございます。
ちゃんと5件あります。
fanblogsのバグなのか、過去記事に表示されるサイドバーのコメント一覧は、最新コメントが反映されないことが多々あります。
なんか、いろんなところが不完全ですね。。。
こちらこそ、心配かけて申し訳ないっす。移行したら自分で管理しますからね。
そうですね。ちょっとした書き方が違うだけだったりしますね。
なので、僕はプログラミングはシェルスクリプトから入って、
Javaを勉強し始めました。
シェルスクリプトは、オブジェクト指向とかとは無縁だけど、
プログラムの基礎っていう意味でははいりやすかったからですね。
JavaScriptは、まんまJavaなので、ScriptかければJavaha書けると思いますよ。
才能とか、関係ないと思います。
関係あるなら、私は目指しません。
プログラマーの人って、基本的に頭がいい人が多いのは、
プログラミングをする上で。設計をしっかりする癖がついてくるからだと思います。
結構、私は設計なしでコードから書き始める癖があるので、それを徐々に直して論理的に仕事をするためにも開発やりたいというのも少しあるのです。
大丈夫ですよ。私も素人ですからw
あれっ、投稿したコメが全部消えた?
5記事ほどでコメを書きましたがそちらでちゃんと反映されてますか?
されてないようでしたら、再投入します^^;。
全コメコピって残してあるので?
なんだろう、更新タイミングか何かで電子の藻屑となったのだろうか^^;。
何だか申し訳ない><。
お久しぶりです^^;。
何気に記事ざっと読ませて頂きましたが、プログラムの学習って一つの言語を極めれば構文や文法が違うだけで考え方そのものは大抵の言語に応用できますねw。
何気に、JavaScriptやRubyの基礎的な学習をしてみましたが、凡その考え方はそう大差ありませんねw。
まあ、私はプログラムの才能ありませんので大した事は言えませんが、プログラム攻略の第一歩は何でもいいから一つの言語を極める事にありそうですねw。
考え方さえ頭に入れてしまえば、どんな言語もそれなりに応用が利きそうですね(ダマレw)。
もっとも、ソレが難しいんだけどね^^;。
まあ、素人の浅はかな考えなのでてけと〜に聞き流してくだはい(だめぽw)。