人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ASPについての質問です。
文字列の中で、特定の文字(例えばカンマ)の出現回数を取得するにはどうしたら良いでしょうか?

●質問者: ebagos
●カテゴリ:コンピュータ
✍キーワード:ASP 文字列
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● cx20
●20ポイント

http://www.interq.or.jp/student/exeal/dss/ref/vbscript/function/...

URL はダミーです。


以下、特定文字をカウントするサンプル(VBScript)です。

もっと簡単な方法があるかもしれませんが、一応参考まで。


’ CharCount.vbs

’ Usage : CScript CharCount.vbs

Option Explicit


Main


Sub Main()

Dim strData

Dim strFind

strData = ”hoge,fuga,foo,bar” ’ 文字列

strFind = ”,” ’ 特定の文字

WScript.Echo ”CharCount = [” & CharCount( strData, strFind ) & ”]”

End Sub


Function CharCount( strData, strFind )

Dim nCount

nCount = 0

Dim i

For i = 1 To Len( strData )

If Mid( strData, i, 1 ) = strFind Then

nCount = nCount + 1

End If

’ WScript.Echo Mid( strData, i, 1 ) ’ Debug

Next

CharCount = nCount

End Function


※ 投稿時に一部文字、記号が全角になっていると思いますので適宜、半角に置き換えてください。


2 ● andi
●20ポイント

http://www.microsoft.com/japan/msdn/library/default.asp?url=/jap...

MSDN ライブラリ サイト移行に関する重要なお知らせ

確かASP(VBS)には文字列をカウントする関数は無かったから・・・こんな関数を作ってみては如何でしょうか。


Response.Write GetCountStr(”a,b,c”,”,”)


Public Function GetCountStr(StrA,StrB)

Dim i,pos


i = 0

pos = 1


Do While InStr(pos,StrA,StrB) > 0

i = i + 1

pos = InStr(pos,StrA,StrB) + 1

Loop


GetCountStr = i


End Function

◎質問者からの返答

ばっちりです。ありがとうございます。


3 ● tashizan
●20ポイント

http://www.hatena.ne.jp/1122252369#

人力検索はてな - ASPについての質問です。 文字列の中で、特定の文字(例えばカンマ)の出現回数を取得するにはどうしたら良いでしょうか?..

以下のコードでは如何でしょうか。

???ここから

Option Explicit

Dim pString ’文字列

Dim mCode ’比較文字

Dim mCnt ’ループカウンタ

Dim mLen ’文字長

Dim mMCnt ’文字カウンタ

Dim mWork ’作業用

pString = ”,,,123456,,789,,,,0”

mCode = ”,”

mMCnt = 0


mLen = Len(pString)

’一文字ずつチェック

For mCnt = 1 To mLen

’文字コードの取得

mWork = Mid(pString, mCnt, 1)

If InStr(1,mCode,mWork,1) Then

mMCnt = mMCnt + 1

End If

Next


MsgBox mCode & ”の数は、” & mMCnt & ”です。”

???ここまで

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ