UWSCで文字列の中に特定の文字があることを確認する-POS-

ねぇ教授。隣のクラスの名簿がとても気になるのぉ

どこが気になるのじゃ?気になる子でもいるのか?

そんなんじゃないもん。隣のクラスの名前に「田」がつく人が多いなーと思ってるんだけど。何人いるか簡単に確認するUWSCを作ろうとしてるんだけどわららないの。

これは失礼。それならPOSとIFを使うと、できるのじゃ。POSは特定の文字列から特定の文字列が含まれるか確認できる関数じゃ。

//特定の文字を数える.uws
DIM NAME[]="佐藤","鈴木","高橋","田中","伊藤","渡辺","山本","中村","小林","加藤","吉田","山田","佐々木","山口","松本","井上","木村","林","斎藤","清水","山崎","森","池田","橋本","阿部","石川","山下","中島","石井","小川","前田","岡田","長谷川","藤田","後藤","近藤","村上","遠藤","青木","坂本","斉藤","福田","太田"
count= 0
for i = 1 to length(NAME)-1
if POS("田",NAME[i]) > 0 then
print NAME[i]
count=count+1
endif
next
print count+"人いたよ"

わぁすごい。一瞬で数えてれてるわ。すごい。教授。「POS(“田”,NAME[i]) > 0」のところがよくわからないから解説して。

POSは検索したい文字列が先頭から何番目にあるかを返す関数なのじゃ。もし見つからない場合は、「0」を返すのじゃ。だから、「0」以上であれば、文字列が見つかったとわかるのじゃ。

理解したわ。じゃあ、”田”が2番目につく人の人数を数えるとかできるのね!

//特定の文字を数える.uws
 DIM NAME[]="佐藤","鈴木","高橋","田中","伊藤","渡辺","山本","中村","小林","加藤","吉田","山田","佐々木","山口","松本","井上","木村","林","斎藤","清水","山崎","森","池田","橋本","阿部","石川","山下","中島","石井","小川","前田","岡田","長谷川","藤田","後藤","近藤","村上","遠藤","青木","坂本","斉藤","福田","太田"
count= 0
 for i = 1 to length(NAME)-1
 if POS("田",NAME[i]) = 2 then
 print NAME[i]
 count=count+1
 endif
 next
 print count+"人いたよ"

そうじゃ。POSの使い方を熟知したね。長い文字列でも検索ができるので、UWSCでいろいろな仕組みが作れるのじゃ。頑張って勉強するのじゃ

UWSCで文字列の中に特定の文字があることを確認する-POS-」への1件のフィードバック

  1. ピンバック: UWSCで文字列を置換する方法-replace- | 小学生でもわかるプログラミング入門

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です