1
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?

【小ネタ】文字列に対して1文字ごとに特定の文字を追加するPowerShellワンライナー

Posted at

文字列に対して1文字ごとに特定の文字を追加する

SNSやチャットなどで、突然「あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛」と叫びたくなることがあります。
こんなとき、どうやって作りますか。
僕はこんなかんじです

  • ああああああああと入力
  • カーソルを戻して1文字目と2文字目の間にだくてんと入力して変換→
  • をコピー(Ctrl+v
  • 右キーCtrl+Vを交互に連打

まあこれで十分なんですが、たまに一か所抜けたり、連続で挿入したりしてしまうことがありますね。まあ人間なので仕方ない…

というわけで、今回はWindowsPCなら環境を用意せずに誰でも簡単にこの処理を行えるコマンドを書いてみました。

コマンド

("ああああああああ" -split '(?<=.)') -join "゛"
  • ああああああああ部分は任意の文字列に変更してください
  • 部分は1文字でなくてもOK

実行結果

PS C:\> ("ああああああああ" -split '(?<=.)') -join "゛"
あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛

ちなみに、、、いちいち調べるくらいだったら普段通りコピペしたほうがいい気もします。。
(?<=.)という覚えにくい(?)正規表現のところをやめると、1文字目の前にも挿入されます。
これを手で削除したほうが楽ということもあるかもしれませんね。

以上です。

.★☆★.メ.★☆★.リ.★☆★.ー.★☆★.ク.★☆★.リ.★☆★.ス.★☆★.マ.★☆★.ス.★☆★.

PS C:\> ("メリークリスマス" -split '') -join ".★☆★."

構文の解説(ChatGPTによる)

  1. -split '(?<=.)'

    • -split は文字列を指定の模式に基づいて分割する
    • (?<=.)は正規表現で「一文字の後」を意味する
    • これにより各文字の間で分割される
  2. -join "゛"

    • -join は配列の要素を指定の文字列で結合する
    • 各文字の間に『゛』を追加して結合される
1
0
1

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
1
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?