質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

解決済

2回答

2676閲覧

取得した文字に濁点や半濁点をつけるメソッド

lyzmfeqpxs54

総合スコア237

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

0クリップ

投稿2016/06/09 04:06

swiftのコーディングについて質問がございます。
タイトルそのままですが、文字を取得しその文字が濁点をつけることが可能だった場合に、その文字に濁点を付けて返すようなメソッドを作りたいのですが、どのようにすれば良いのか足がかりが全くつかめない状況です。

うまいやり方があればご教示いただけませんでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

coco_bauerさんのほぼパクリですが、Dictionary型にすれば判定がラクチンです。

swift

1let sonant = [ 2 "う":"ゔ", 3 "か":"が", 4 "き":"ぎ", 5 : 6] 7 8let string = "あいうえおかきくけこ" 9for i in (string.startIndex ..< string.endIndex) { 10 if let c = sonant[String(string[i])] { 11 print(c) 12 } else { 13 print(string[i]) 14 } 15}

投稿2016/06/09 06:25

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

濁点をつけることが出来る文字(清音の文字)と、それに濁点をつけた文字(濁音の文字)の配列を用意します。

let dakuon:[[String]] = [["か","が"] ,["き","ぎ"], 以下、省略 ]

あとは、取得した文字が dakuon[n][0] に一致するかどうかを、nのforループで回して、一致したものが見つかったら、dakuon[n][1]を返す、見つからなければ、見つからなかった時の値(何にするのか質問に書かれていないので判らないのですが)を返せば良いと思います。

最初っから対象のデータを定義しておくと、話が簡単になる例の一つかと思います。

投稿2016/06/09 04:44

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2016/06/09 09:56

fuzzballさんの回答にあるように、配列よりもDictionaryのほうがスマートですね。
lyzmfeqpxs54

2016/06/09 13:23

ご教示いただいた方法で無事解決できました!Dictionary型の方法も試してみたいと思います。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問