タグ付けされた質問 「replace」

置換とは、文字列でサブ文字列を検索し、それを別の文字列に置き換えるアクションです。

9
Python 3で数百万の正規表現置換を高速化
Python 3.5.2を使用しています 2つのリストがあります 約750,000の「文」(長い文字列)のリスト 750,000の文から削除したい約20,000の「単語」のリスト したがって、750,000の文をループ処理し、約20,000の置換を実行する必要がありますが、私の単語が実際には「単語」であり、より大きな文字列の一部ではない場合のみです。 私は自分の言葉を事前にコンパイルして、\bメタキャラクターに隣接するようにこれを行っています compiled_words = [re.compile(r'\b' + word + r'\b') for word in my20000words] 次に、「文」をループします import re for sentence in sentences: for word in compiled_words: sentence = re.sub(word, "", sentence) # put sentence into a growing list このネストされたループは1秒あたり約50文を処理します。これはすばらしいことですが、すべての文を処理するにはまだ数時間かかります。 このstr.replace方法を使用する方法はありますか(私はより速いと思います)、それでも置換が単語の境界でのみ発生することを要求しますか? または、re.subメソッドを高速化する方法はありますか?re.sub私の単語の長さが私の文の長さよりも長い場合はスキップして、速度をわずかに改善しましたが、それほど改善されていません。 ご提案ありがとうございます。

8
特定の拡張子を持つすべてのファイルを検索して置き換えるPowerShellスクリプト
私はそのようにネストされたWindows Server 2008の設定ファイルをいくつか持っています: C:\Projects\Project_1\project1.config C:\Projects\Project_2\project2.config 私の構成では、次のような文字列置換を行う必要があります。 <add key="Environment" value="Dev"/> となります: <add key="Environment" value="Demo"/> バッチスクリプトを使用することを考えましたが、これを行う良い方法はありませんでした。また、PowerShellスクリプトを使用すると、これを簡単に実行できると聞きました。検索/置換の例を見つけましたが、C:\ Projectsディレクトリ内のすべてのフォルダーを走査し、拡張子が「.config」のファイルを見つける方法を望んでいました。見つかった場合は、文字列値を置き換えます。 これを行う方法を見つけるための優れたリソース、または洞察を提供できるPowerShellの教祖

6
条件付き置換パンダ
DataFrameがあり、特定の列の値を超える値をゼロに置き換えたい。これはこれを達成する方法だと思っていました: df[df.my_channel > 20000].my_channel = 0 チャネルを新しいデータフレームにコピーするのは簡単です。 df2 = df.my_channel df2[df2 > 20000] = 0 これは私が望んでいることとまったく同じですが、元のDataFrameの一部としてチャネルで機能していないようです。


6
Rubyが文字列をキャプチャされた正規表現パターンで置き換える
これをRubyに変換するのに問題があります。 以下は、私がやりたいことを正確に実行するJavaScriptの一部です。 function get_code(str){ return str.replace(/^(Z_.*): .*/,"$1")​​​​​​​​​​​​​​​​​​​​​​​​​​​; } 私はgsub、sub、およびreplaceを試しましたが、期待どおりの動作をするようには見えません。 これが私が試したことの例です: "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/) { |capture| capture } "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/, "$1") "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/, "#{$1}") "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/, "\1") "Z_sdsd: sdsd".gsub(/(.).*/) { |capture| capture }
121 ruby  regex  replace 

5
Eclipse、正規表現の検索と置換
日食では、正規表現の検索と置換を実行するときに、一致した検索文字列を置換文字列の一部として使用できますか? 基本的に、私はすべての出現を置き換えたいです variableName.someMethod() と: ((TypeName)variableName.someMethod()) ここで、variableNameは任意の変数名にすることができます。 中には、sedの私のようなものを使用することができます: s/[a-zA-Z]+\.someMethod\(\)/((TypeName)&)/g つまり、&は一致した検索文字列を表します。Eclipseにも同様のものはありますか? ありがとう!
119 regex  eclipse  replace 

10
すべてのプロジェクトファイルでVimを検索して置換する
Vimのすべてのプロジェクトファイルで検索と置換(確認あり)を行うための最良の方法を探しています。「プロジェクトファイル」とは、現在のディレクトリにあるファイルを意味し、その一部を開く必要はありません。 これを行う1つの方法は、現在のディレクトリにあるすべてのファイルを単に開くことです。 :args ./** 次に、開いているすべてのファイルを検索して置換します。 :argdo %s/Search/Replace/gce しかし、これを行うと、Vimのメモリ使用量が数十MBから2 GBを超えるまでに急増し、私にとってはうまくいきません。 私も持っているEasyGrepのプラグインがインストールされていますが、それは動作しません、どちらかほとんどない、それは私のプレスまで、すべての出現、またはそれだけでハングアップを見つけることができませんCtrlC。これまでのところ、このタスクを実行するための私の優先する方法は、検索用語のack-grepです。クイックフィックスウィンドウを使用して、用語を含み、以前に開かれていないファイルを開き、最後に:bufdo %s/Search/Replace/gce。 私は、これに使用できる優れた機能するプラグイン、または現在使用しているものよりも簡単なコマンド/コマンドシーケンスのいずれかを探しています。
117 vim  replace 

3
JavaScript置換/正規表現
この関数を考えると: function Repeater(template) { var repeater = { markup: template, replace: function(pattern, value) { this.markup = this.markup.replace(pattern, value); } }; return repeater; }; どうすればthis.markup.replace()グローバルに置換できますか?ここに問題があります。私がこのようにそれを使うならば: alert(new Repeater("$TEST_ONE $TEST_ONE").replace("$TEST_ONE", "foobar").markup); アラートの値は「foobar $ TEST_ONE」です。 変わったら Repeater次のようすると、Chromeでは何も置き換えられません。 function Repeater(template) { var repeater = { markup: template, replace: function(pattern, value) { this.markup = this.markup.replace(new RegExp(pattern, …

6
Vimでのカーソル位置から開始してラップアラウンドするグローバル検索と置換
/ ノーマルモードコマンドで検索すると: /\vSEARCHTERM Vimはカーソル位置から検索を開始し、下方向に進み、先頭に戻ります。ただし、:substitute次のコマンドを使用して検索して置換すると、 :%s/\vBEFORE/AFTER/gc 代わりに、Vimはファイルの先頭から始まります。 Vimは検索し、カーソル位置から置き換える行うようにする方法がありますし、それが終わりに達した時点で先頭に折り返しますか?
112 search  vim  replace 


9
VIM単語を貼り付けバッファの内容で置き換えますか?
ファイル内で一連の単語の置換を行う必要があり、それをのようなEXコマンドではなく、viコマンドで実行したい:%s///g。これが現在のカーソル位置の単語を置き換える一般的な方法であることは知っていますcw<text><esc>が、名前のないレジスタの内容を置換テキストとして、レジスタを上書きせずにこれを行う方法はありますか?
110 vim  replace  buffer  paste 



5
PowerShellを使用してファイル内の複数の文字列を置き換える方法
構成ファイルをカスタマイズするためのスクリプトを書いています。このファイル内の文字列の複数のインスタンスを置き換えたいので、PowerShellを使用してその仕事を試しました。 単一の置換では問題なく機能しますが、ファイル全体を再度解析する必要があり、このファイルが非常に大きいため、複数の置換を実行すると非常に遅くなります。スクリプトは次のようになります。 $original_file = 'path\filename.abc' $destination_file = 'path\filename.abc.new' (Get-Content $original_file) | Foreach-Object { $_ -replace 'something1', 'something1new' } | Set-Content $destination_file 私はこのようなものが欲しいのですが、それを書く方法がわかりません: $original_file = 'path\filename.abc' $destination_file = 'path\filename.abc.new' (Get-Content $original_file) | Foreach-Object { $_ -replace 'something1', 'something1aa' $_ -replace 'something2', 'something2bb' $_ -replace 'something3', 'something3cc' $_ -replace 'something4', 'something4dd' $_ …

6
追加する代わりに置き換えて上書きする
私は次のコードを持っています: import re #open the xml file for reading: file = open('path/test.xml','r+') #convert to string: data = file.read() file.write(re.sub(r"<string>ABC</string>(\s+)<string>(.*)</string>",r"<xyz>ABC</xyz>\1<xyz>\2</xyz>",data)) file.close() ファイルにある古いコンテンツを新しいコンテンツに置き換えたいところです。ただし、コードを実行すると、ファイル「test.xml」が追加されます。つまり、古いコンテンツの後に新しい「置き換えられた」コンテンツが続きます。古いものを削除して新しいものだけを保持するにはどうすればよいですか?
102 python  replace 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.