- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文章中のファイルリンクを置換したい)
ファイルリンクを置換する方法について
このQ&Aのポイント
- 正規表現を使用して、文章中のファイルリンクを置換する方法を探しています。
- 現在考えている方法では、文章中のファイルリンクまではマッチさせることができますが、\を/に置き換える方法がわかりません。
- ファイルリンクを<a>タグで囲むためには、正規表現パターンを工夫する必要があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
String の replace 関数は、 置換後の値として関数を受け付けますので、 高度な変換を行いたい場合に便利です。 var 置換関数 = function(s, g1, g2){ var url = 'file://' + g1 + (g2? g2.replace(/\\/g, '/'): ''); return '<a href="' + url + '">' + s + '</a>'; }; var 新しいHTML = str.replace(/\\\\([^\s\/\\]+)(\\[^\s\/\\]+)*/gi, 置換関数); 余談ながら UNC 形式のファイルリンクを表す正規表現は、 ホスト名とパス名でルールが異なるので、 分離して記述したほうが良いと思います。