
国名の先頭と末尾のタグを削除したいです。
私の例では、それらのタグは<li>
と です<a>
。
<li><a href="http://afghanistan.makaan.com/">Afghanistan</a></li>
<li><a href="http://albanie.makaan.com/">Albanie</a></li>
<li><a href="http://algérie.makaan.com/">Algérie</a></li>
結果は次のようになります:
Afghanistan
Albanie
Algérie
Microsoft Wordでは、検索と置換正規表現を使用してそれを実現する機能。
MS Word で正規表現を使用するにはどうすればいいですか?
答え1
入力テキストを Word にコピーする代わりに、Notepad++ または RegEx を完全にサポートするその他のエディターにコピーします。
>
タグの外側のすべて、またはタグと記号の間のすべてを選択するための正規表現文字列は<
次のようになります。
(?<=>).*?(?=<)
(?<=>)
は後ろを見て. 標識を探して>
アンカーとして機能します。この方法では検索文字列を除外できます。これは、<Afghanistan
.*?
は遅延量指定子そして次の式まですべてを選択します(?=<)
は先のことを考えるサインを探すが<
、探したサイン自体は除外する。後ろを見るのと同じように
しかし国名を選択したくない。すべてのタグを削除したい。最初の正規表現の逆が必要です。
<.*?>
- Notepad++の検索と置換ダイアログを開く
- 選択する正規表現を使用する
- 検索対象:
<.*?>
- 置き換え: なし
答え2
これはMS Wordで簡単に実行できます検索と置換、正規表現なし、JavaScript なしなど。
括弧をエスケープすると、実際の括弧文字が検索されます。したがって、ワイルドカードをオンにすると、式は\<*\\>
山括弧内のすべてを検索します。それを何もないものに置き換えるだけです。
答え3
答え4
私はそのために検索/置換を使用しません。そのタスクには、Excel の「テキストを列に」を使用するのが最も簡単です。これを行うには、テキストを含む列を選択し、「データ」リボンに移動して「テキストを列に」を選択します。これを 2 回実行する必要があります。1 回は国名より前のすべてのテキストを削除するため (区切り記号は「>」です。混乱を避けるために、無関係な列は削除してください)、もう 1 回は名前の後のテキストを削除するため (区切り記号は「<」です) です。