見出し画像

Power Automate for desktop(PAD)で全角を半角に変換する

全角英数字を半角に変換するためのPADフローを作りました。
👇をコピぺで利用可能です(ver. 2.47xで動作確認)。
お使いの際は、inputVariableに対象テキストをセットしてください。

**REGION 全角To半角
SET inputVariable TO $'''TOKYO,JAPAN 2024-07-18 
Place of Issue'''
# 👇改行を一旦置き換える。あとで元に戻す
Text.Replace Text: inputVariable TextToFind: $'''\\r\\n''' IsRegEx: True IgnoreCase: False ReplaceWith: $'''___NEW_LINE___''' ActivateEscapeSequences: False Result=> inputVariable
/# 【このコードの説明】
▶ [\\uFF01-\\uFF5E]:全角の英数字および記号の範囲を指定しています。
▶ String.fromCharCode(char.charCodeAt(0) - 0xFEE0):全角文字を半角文字に変換するために、Unicodeコードポイントを調整します。
▶ \\u3000:全角スペース( )を半角スペース( )に変換します。

この関数を使えば、文字列中の全角文字をすべて半角に変換することができます。#/
@@copilotGeneratedAction: 'False'
Scripting.RunJavascript.RunJavascript JavascriptCode: $'''var fullWidthStr = \"%inputVariable%\"
var halfWidthStr = fullWidthStr.replace(/[\\uFF01-\\uFF5E]/g, function(char) {
    return String.fromCharCode(char.charCodeAt(0) - 0xFEE0);
}).replace(/\\u3000/g, \" \") // 全角スペースを半角スペースに変換
WScript.Echo(halfWidthStr);''' ScriptOutput=> JavascriptOutput ScriptError=> ScriptError
Text.Replace Text: JavascriptOutput TextToFind: $'''___NEW_LINE___''' IsRegEx: False IgnoreCase: False ReplaceWith: $'''\\r\\n''' ActivateEscapeSequences: True Result=> HankakuOutput
**ENDREGION
inputVariableを置き換えてください
(インプット)


(変換後のアウトプット)

Javascriptアクション内のコードは、自分で書いておらず生成AI頼みです。。

PDF読み取りやOCRによる読み取りと組み合わせて使うと良いんじゃないかと思います。

この記事を気に入ったらフォローお願いします!