Questions tagged «replace»

替换是在字符串中搜索子字符串并将其替换为其他字符串的操作。

9
在Python 3中加速数百万个正则表达式的替换
我正在使用Python 3.5.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 这个嵌套循环每秒处理大约50个句子,这很好,但是处理我所有的句子仍需要几个小时。 有没有一种方法可以使用该str.replace方法(我认为该方法更快),但仍然要求仅在单词边界处进行替换? 或者,有没有办法加快该re.sub方法?re.sub如果单词的长度大于句子的长度,我已经略微提高了速度,但这并没有太大的改进。 感谢您的任何建议。

6
有条件替换熊猫
我有一个DataFrame,我想用超过零的值替换特定列中的值。我以为这是实现此目标的一种方式: df[df.my_channel > 20000].my_channel = 0 如果将通道复制到新的数据框中,这很简单: df2 = df.my_channel df2[df2 > 20000] = 0 这完全符合我的要求,但似乎无法与通道一起用作原始DataFrame的一部分。

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
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,正则表达式搜索和替换
在Eclipse中,执行正则表达式搜索和替换时是否可以将匹配的搜索字符串用作替换字符串的一部分? 基本上,我想替换所有出现的 variableName.someMethod() 与: ((TypeName)variableName.someMethod()) 其中,variableName可以是任何变量名称。 在sed中,我可以使用类似以下的内容: s/[a-zA-Z]+\.someMethod\(\)/((TypeName)&)/g 即,&表示匹配的搜索字符串。Eclipse中有类似的东西吗? 谢谢!
119 regex  eclipse  replace 

10
在Vim中搜索和替换所有项目文件
我正在寻找在Vim中所有项目文件中进行搜索和替换(带有确认)的最佳方法。“项目文件”是指当前目录中的文件,其中有些文件不必打开。 一种方法是简单地打开当前目录中的所有文件: :args ./** 然后搜索并替换所有打开的文件: :argdo %s/Search/Replace/gce 但是,当我这样做时,Vim的内存使用量从几十MB跃升至2 GB以上,这对我不起作用。 我还安装了EasyGrep插件,但是它几乎永远无法工作-找不到所有出现的事件,或者只是挂起,直到我按为止CtrlC。到目前为止,我首选的完成此任务的方法是ack-grep搜索词,使用它的quickfix窗口打开包含该词但之前未打开的任何文件,最后是: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用粘贴缓冲区的内容替换单词吗?
我需要在文件中进行大量单词替换,并希望使用vi命令而不是EX命令(例如)来进行替换:%s///g。我知道这是在当前光标位置替换单词的典型方法:cw<text><esc>但是,有没有一种方法可以使用未命名寄存器的内容作为替换文本,而不会覆盖寄存器?
110 vim  replace  buffer  paste 

5
如何在一行中的单词之间搜索一个以上的空格
如何在一行中的单词之间搜索一个以上的空格 1. this is a line containing 2 spaces 2. this is a line containing 3 spaces 3. this is a line containing multiple spaces first second three four 以上所有都是此正则表达式的有效匹配项。我应该使用什么正则表达式?
109 regex  eclipse  replace 


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 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.