76153
**最終的にやりたいこと**  
(Google Map 埋め込みで)指定文字列だけをなるべく簡単に抽出したい  
[Google Map
埋め込みたいURL](https://www.google.com/maps/place/%E6%9D%B1%E4%BA%AC%E9%A7%85/@35.6812362,139.7649361,17z/data=!3m1!4b1!4m5!3m4!1s0x60188bfbd89f700b:0x277c49ba34ed38!8m2!3d35.6812362!4d139.7671248)

* * *

**前提**  
クリップボード内容

```

    <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3240.8280303808788!2d139.76493611525882!3d35.68123618019432!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x60188bfbd89f700b%3A0x277c49ba34ed38!2z5p2x5Lqs6aeF!5e0!3m2!1sja!2sjp!4v1622174082623!5m2!1sja!2sjp" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy"></iframe>
    
```

**やりたいこと**  
クリップボード内容から下記指定文字列をなるべく簡単に削除したい

```

    <iframe src="https://www.google.com/maps/embed?pb=
    
    " width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy"></iframe>
    
```

**クリップボードから(指定文字列を削除することで)抽出したい内容**

```

    !1m18!1m12!1m3!1d3240.8280303808788!2d139.76493611525882!3d35.68123618019432!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x60188bfbd89f700b%3A0x277c49ba34ed38!2z5p2x5Lqs6aeF!5e0!3m2!1sja!2sjp!4v1622174082623!5m2!1sja!2sjp
    
```
CC BY-SA 4.0
2021-05-28T04:04:59.153
76139
2021-05-28T11:44:50.030
2021-05-28T11:44:50.030
3060
7886
question
windows
Windows10 でクリップボード内容から 指定文字列を簡単に削除する方法はありますか？
コメントに書いたように、[秀丸エディタで、選択範囲から指定文字列を削除するマクロを作りたい](https://ja.stackoverflow.com/q/76140/26370)の回答に書いた内容と、以下の辺の記事を基に：  
[PowerShellメモ クリップボード操作](https://qiita.com/Kosen-
amai/items/2e92c9b1dc19fd12b6f5)  
[about_Regular_Expressions](https://docs.microsoft.com/ja-
jp/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-7.1)  
[正規表現での置換](https://docs.microsoft.com/ja-jp/dotnet/standard/base-
types/substitutions-in-regular-expressions)  
[正規表現言語 - クイック リファレンス](https://docs.microsoft.com/ja-jp/dotnet/standard/base-
types/regular-expression-language-quick-reference)  
[Powershellでの高度な置換](https://qiita.com/acuo/items/a4f83d886c4b8a7fcf52)

PowerShellでこんな処理で出来るでしょう。

```

    $iframe = Get-Clipboard -Format Text
    $value = $iframe -replace '<iframe src="https://www.google.com/maps/embed\?pb=(.*?)" .*?</iframe>', '$1'
    Set-Clipboard $value
    
```

例えばその前にクリップボードにテキストを設定する行を挿入して検証出来ます。

```

    Set-Clipboard '<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3240.8280303808788!2d139.76493611525882!3d35.68123618019432!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x60188bfbd89f700b%3A0x277c49ba34ed38!2z5p2x5Lqs6aeF!5e0!3m2!1sja!2sjp!4v1622174082623!5m2!1sja!2sjp" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy"></iframe>'
    $iframe = Get-Clipboard -Format Text
    $value = $iframe -replace '<iframe src="https://www.google.com/maps/embed\?pb=(.*?)" .*?</iframe>', '$1'
    Set-Clipboard $value
    
```

* * *

C#なら、この辺のクラスを使うことで同様のことが出来るのでは？  
[System.Windows.Clipboard クラス](https://docs.microsoft.com/ja-
jp/dotnet/api/system.windows.clipboard?view=net-5.0)  
[System.Windows.Forms.Clipboard クラス](https://docs.microsoft.com/ja-
jp/dotnet/api/system.windows.forms.clipboard?view=net-5.0)  
[System.Text.RegularExpressions.Regex クラス](https://docs.microsoft.com/ja-
jp/dotnet/api/system.text.regularexpressions.regex?view=net-5.0)
CC BY-SA 4.0
2021-05-28T11:40:12.617
76153
2021-05-28T11:40:12.617
26370
76139
answer