0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

変換テーブルを使って、文字列を置換する

Posted at

あるデータファイルから別のデータファイルに値を転記したり、
あるデータソースから別のシステムにデータ入力をする際など、
半角全角の違いや、特定の文字列を削除したいなどといったニーズがあると思います。

その時に便利な文字列の置換方法として、今回は変換テーブルを用意して行う方法を紹介したいと思います。

例えば、「ニイタカヤマノボレ」を「ニイタカヤマノボレ」に変換したり、
「カ)エニウェアショウジ」を「エニウェアショウジ」に変換したりなど。

早速やってみよう その1

まず、データテーブル変数を作成します。
image.png

このような感じで、変換前の文字列と変換後の文字列を記入していきます。
image.png

そして、以下のようなBotを作成します。
image.png

各アクションの設定は以下のような感じになります。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3439303837302f33383630373966632d353930632d646332302d613233342d3033613763313135336466312e706e67.png

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3439303837302f35326534366662302d323838382d356562652d666438622d3034336533653166333237352e706e67.png

実行してみよう その1

半角の文字列を全角にできましたね! と思いきや。
ボがボ(全角の「ホ」と半角の「゙」の組み合わせ)になってしまいました。
濁点や半濁点が付く文字の存在を忘れていました。

image.png

ということでちょっと修正してみます。

早速やってみよう その2

このような感じで、データテーブルの変数を編集します。
濁点のある文字が先に変換されるよう、テーブルの先頭に来るようにします。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3439303837302f66376432376463362d336633662d666532342d313565382d3762373333326532356163332e706e67.png

このような感じで濁点、半濁点を追加します。それから、促音「ー」や、「ャュョッ」などの拗音も。
濁音だと「ヴ」も忘れやすいです。
スクリーンショット 2022-04-06 13.23.44.png

実行してみよう その2

無事に変換できました。
image.png

オマケ

「カ)エニウェアショウジ」みたいな例の場合で、カ)などの部分を取り除きたい場合、上記の変換テーブルの最初のほうにさらに、
カ) ユ) (カ (ユ (カ) (ユ)などを追加し、変換先の文字列を空欄にしておくと、行いたい処理が可能になります。

以下のような感じで編集。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3439303837302f37666434316434302d356135332d633632392d326166612d6565333764336135366132392e706e67.png

実行してみると・・・。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3439303837302f61336566376333632d616535642d363966362d613331392d3462663732356464656137372e706e67.png

出来ました!

最後に

いかがでしたでしょうか。
なかなかの手間になってしまった感が否めないですが、色々と応用が効きますので、一度勉強がてらやってみるのも良いと思います。

そして、決してオチというわけではないのですが、実はBot Storeに上記の処理を一発で行えるものがありますので、
ぜひこちらの利用もご検討ください。

Convert Japanese String Using ICU4J Package - Bot Store
名称未設定 1.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?