C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ひらがな→ローマ字の変換

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■92509 / inTopicNo.1)  ひらがな→ローマ字の変換
  
□投稿者/ FNLC (1回)-(2019/10/01(Tue) 14:45:39)

分類:[.NET 全般] 

2019/10/01(Tue) 15:29:31 編集(投稿者)

VB2019、Windows10(1903)です。

ひらがな→ローマ字の変換で、「っ」などに対応するために、

Dim s2 As String = ""
Dim i As Integer = 0
Do While (i < s1.Length)
If (i + (1 < s1.Length)) Then
If (s1.Substring(i, 1).CompareTo("っ") = 0) Then
s2 = (s2 + HiraganaToAlphabet1(s1.Substring((i + 1), 1)).Substring(0, 1))
End If
End If
s2 = (s2 + HiraganaToAlphabet1(s1.Substring(i, 1)))
i = (i + 1)
Loop
Return s2

というコードを書きました。しかし、2個以上「っ」が入ってしまうと、

「System.ArgumentOutOfRangeException: 'インデックスおよび長さは文字列内の場所を参照しなければなりません。
パラメーター名:length'」

となってしまいます。2個以上「っ」が入った時に対応させるには、どうすればいいでしょうか。解決方法を教えていただけると幸いです。

追記:エラーがなくなる方向で、仕様はそのまんま
引用返信 編集キー/
■92511 / inTopicNo.2)  Re[1]: ひらがな→ローマ字の変換
□投稿者/ 774RR (737回)-(2019/10/01(Tue) 15:07:23)
どうするかは仕様次第

いって→ itte はまあ良いとして
いっって→どうなればよい?(微妙に日本語として正しくない)

MS-IME だと 小さい「っ」を入力するのに LTU と入力することができるので、
そういう変換する手もあるっすよ。

https://phonypianist.sakura.ne.jp/convenienttool/kanarome.html
Javascript で変換方式が書いてあるけど LTU ですな。

引用返信 編集キー/
■92512 / inTopicNo.3)  Re[2]: ひらがな→ローマ字の変換
□投稿者/ FNLC (2回)-(2019/10/01(Tue) 15:19:11)
No92511 (774RR さん) に返信
> どうするかは仕様次第
>
> いって→ itte はまあ良いとして
> いっって→どうなればよい?(微妙に日本語として正しくない)
>
> MS-IME だと 小さい「っ」を入力するのに LTU と入力することができるので、
> そういう変換する手もあるっすよ。
>
> https://phonypianist.sakura.ne.jp/convenienttool/kanarome.html
> Javascript で変換方式が書いてあるけど LTU ですな。
>

なるほど。私の場合は「いっって」→ittteとさせたいです。ただ、今回の場合では、「あっち・こっち」でも「っ」が2個ありますが認識されず上記のようなエラーになります。
それらの解決方法も教えてくださると幸いです。
引用返信 編集キー/
■92513 / inTopicNo.4)  Re[2]: ひらがな→ローマ字の変換
□投稿者/ kaina (50回)-(2019/10/01(Tue) 15:23:34)
774RRさんの言う通り、仕様を決めましょう!

以下のようなひらがな⇒ローマ字の変換サイトを参考に。
仕様決めをすればよいのではないでしょうか?

http://hebonshiki-henkan.info/
https://hogehoge.tk/nihongo/
https://lazesoftware.com/tool/hepburn/

実行してみると分かりますが、3サイトとも結果が異なります。
結局、自分で仕様を決めるしかないってことですね。
引用返信 編集キー/
■92514 / inTopicNo.5)  Re[3]: ひらがな→ローマ字の変換
□投稿者/ FNLC (3回)-(2019/10/01(Tue) 15:41:30)
No92513 (kaina さん) に返信
> 774RRさんの言う通り、仕様を決めましょう!
>
> 以下のようなひらがな⇒ローマ字の変換サイトを参考に。
> 仕様決めをすればよいのではないでしょうか?
>
> http://hebonshiki-henkan.info/
> https://hogehoge.tk/nihongo/
> https://lazesoftware.com/tool/hepburn/
>
> 実行してみると分かりますが、3サイトとも結果が異なります。
> 結局、自分で仕様を決めるしかないってことですね。

理解しました。自分で仕様を決めて、それでもだめだったらまた考えます。ひとまず、これで解決済みにさせていただきます、
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ