Google
 
Web このブログ

2005年10月09日

濁点/半濁点のカナを分割する関数

MSACCESS
濁点/半濁点のカナを2文字のカナに分割する関数 pfDakutenSplit( )

文字列中の「ダ、パ」などの1文字の濁音/半濁音のカナを変換し、清音+濁点/半濁点の2文字のカナに分割した結果の文字列を返します。

全角のカタカナ、ひらがなが対象となります。
例えば、「ダ」→「タ゛」 「パ」→「ハ゜」

対象となる文字は以下の通り、、、
・全角カタカナ
  「ガ行」「ザ行」「ダ行」「バ行」「パ行」「ヴ」
・全角ひらがな
  「が行」「ざ行」「だ行」「ば行」「ぱ行」

pfDakutenSplit ( pStr )

Input
pStr (必須)変換対象の文字列を指定します
Output
なし
Return
変換された結果の文字列を返します
-------------- サンプルコード --------------
Public Function pfDakutenSplit(pStr As Variant) As String

Dim ii As Long
Dim tmpChr As String
Dim cnvStr As String
Dim tmpCode As Integer

tmpChr = ""
cnvStr = ""

For ii = 1 To Len(pStr)

tmpChr = Mid(pStr, ii, 1)
tmpCode = Asc(tmpChr)
Select Case tmpCode
'全角カタカナ (ガ、ザ、ダ、バ行)
Case -31925, -31923, -31921, -31919, -31917, -31915, -31913, -31911, -31909, -31907 _
, -31905, -31903, -31900, -31898, -31896, -31889, -31886, -31883, -31880, -31877

tmpChr = Chr(tmpCode - 1) & "゛"

'全角カタカナ (ヴ)
Case -31852
tmpChr = "ウ゛"

'全角ひらがな (が、ざ、だ、ば行)
Case -32086, -32084, -32082, -32080, -32078, -32076, -32074, -32072, -32070, -32068 _
, -32066, -32064, -32061, -32059, -32057, -32050, -32047, -32044, -32041, -32038

tmpChr = Chr(tmpCode - 1) & "゛"

'全角カタカナ (パ行:半濁音)
Case -31888, -31885, -31882, -31879, -31876
tmpChr = Chr(tmpCode - 2) & "゜"

'全角ひらがな (ぱ行:半濁音)
Case -32049, -32046, -32043, -32040, -32037
tmpChr = Chr(tmpCode - 2) & "゜"

Case Else

End Select

cnvStr = cnvStr & tmpChr

Next ii

pfDakutenSplit = cnvStr

End Function



このネタが役に立ったらポチッとな→人気blogランキングへ


posted by Picaso at 00:27 | Comment(0) | TrackBack(0) | MS Access - Tips
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのTrackBack URL

×

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