标签: replace

执行Regex.Replace()时如何使用命名组

在执行Regex.Replace时如何使用命名捕获?我已经做到了这一点,它做了我想要的但不是我想要的方式:

[TestCase("First Second", "Second First")]
public void NumberedReplaceTest(string input, string expected)
{
    Regex regex = new Regex("(?<firstMatch>First) (?<secondMatch>Second)");
    Assert.IsTrue(regex.IsMatch(input));
    string replace = regex.Replace(input, "$2 $1");
    Assert.AreEqual(expected, replace);
}
Run Code Online (Sandbox Code Playgroud)

我希望将这两个单词与命名的捕获匹配,然后在执行替换时使用(命名)捕获.

c# regex replace

44
推荐指数
2
解决办法
3万
查看次数

"替换"属性如何与作曲家一起使用?

那么" 替换 "属性如何与作曲家一起工作?我读过作曲家的文档,但仍然不理解.搜索更多信息没有回答我的问题.

当我在github 上查看Laravel/Framework上的composer.json文件时.我看不出替换会如何工作.有人可以向我解释这是如何工作的吗?变量"self.version"将等于什么?

replace package-managers composer-php

44
推荐指数
2
解决办法
2万
查看次数

Regex.Replace中的MatchEvaluator如何工作?

这是输入字符串23x * y34x2.我希望" * "在每个数字之后插入(由空格包围的星形)后跟字母,并在每个字母后跟数字.所以我的输入字符串看起来像这样:23 * x * y * 34 * x * 2.

这是完成这项工作的正则表达式:@"\d(?=[a-z])|[a-z](?=\d)".这是我写的插入的函数" * ".

Regex reg = new Regex(@"\d(?=[a-z])|[a-z](?=\d)");   
MatchCollection matchC;
matchC = reg.Matches(input);
int ii = 1;
foreach (Match element in matchC)//foreach match I will find the index of that match
{
    input = input.Insert(element.Index + ii, " * ");//since I' am inserting " * " ( 3 characters )
    ii += 3;                                        //I must …
Run Code Online (Sandbox Code Playgroud)

.net c# regex replace matchevaluator

43
推荐指数
1
解决办法
3万
查看次数

43
推荐指数
9
解决办法
6万
查看次数

在python中替换大量字符串?

假设我有一个看起来像这样的字符串:

str = "The &yquick &cbrown &bfox &Yjumps over the &ulazy dog"
Run Code Online (Sandbox Code Playgroud)

您会注意到字符串中有很多位置,其中有一个&符号,后跟一个字符(例如"&y"和"&c").我需要用字典中的适当值替换这些字符,如下所示:

dict = {"&y":"\033[0;30m",
        "&c":"\033[0;31m",
        "&b":"\033[0;32m",
        "&Y":"\033[0;33m",
        "&u":"\033[0;34m"}
Run Code Online (Sandbox Code Playgroud)

最快的方法是什么?我可以手动找到所有的&符号,然后循环通过字典来改变它们,但这似乎很慢.做一堆正则表达式替换似乎也很慢(我的实际代码中将有一个大约30-40对的字典).

任何建议表示赞赏,谢谢.

编辑:

正如在这个问题的评论中所指出的,我的字典是在运行时之前定义的,并且在应用程序生命周期的过程中永远不会改变.它是ANSI转义序列的列表,其中将包含大约40个项目.我要比较的平均字符串长度大约为500个字符,但最多可达5000个字符(但这些字符很少见).我目前也在使用Python 2.6.

编辑#2 我接受Tor Valamos的回答是正确的,因为它不仅提供了有效的解决方案(虽然它不是最好的解决方案),而是考虑了所有其他解决方案并做了大量的工作来比较所有这些.这个答案是我在StackOverflow上遇到过的最好,最有帮助的答案之一.感谢你.

python regex string performance replace

42
推荐指数
4
解决办法
2万
查看次数

Javascript替换方法,替换为"$ 1"

我正在阅读Sitepoints 2007书籍"Simply Javascript",我遇到了一些我无法理解的代码.

它是以下代码:

Core.removeClass = function(target, theClass)
{
    var pattern = new RegExp("(^| )" + theClass + "( |$)");
    target.className = target.className.replace(pattern, "$1");
    target.className = target.className.replace(/ $/, "");
};
Run Code Online (Sandbox Code Playgroud)

第一次调用replace方法让我很困惑,我不明白"$ 1"值来自何处或意味着什么.我认为调用应该用""替换找到的模式.

javascript regex replace

42
推荐指数
2
解决办法
5万
查看次数

快速替换numpy数组中的值

我有一个非常大的numpy数组(包含多达一百万个元素),如下所示:

[ 0  1  6  5  1  2  7  6  2  3  8  7  3  4  9  8  5  6 11 10  6  7 12 11  7
  8 13 12  8  9 14 13 10 11 16 15 11 12 17 16 12 13 18 17 13 14 19 18 15 16
 21 20 16 17 22 21 17 18 23 22 18 19 24 23]
Run Code Online (Sandbox Code Playgroud)

和一个小的字典映射,用于替换上面数组中的一些元素

{4: 0, 9: 5, 14: 10, 19: 15, 20: 0, 21: 1, 22: …
Run Code Online (Sandbox Code Playgroud)

python replace numpy

42
推荐指数
5
解决办法
4万
查看次数

如何在Xcode中的选择内找到并替换?

在Xcode <4中,您可以按住"option"键,"Replace All"按钮将变为"Replace in Selection".从Xcode 4开始,这没有任何作用.任何人都知道是否有新方法,或者是错误提交时间?

xcode replace

42
推荐指数
4
解决办法
2万
查看次数

删除冒号前的所有文本

我有一个包含一定数量行的文件.每一行看起来像这样:

TF_list_to_test10004/Nus_k0.345_t0.1_e0.1.adj:PKMYT1
Run Code Online (Sandbox Code Playgroud)

我想删除所有":"之前的字符,以便仅保留作为基因名称的PKMYT1.由于我不是正则表达式脚本编写的专家,任何人都可以帮助我使用Unix(sed或awk)或R?

unix awk replace r sed

42
推荐指数
7
解决办法
6万
查看次数

替换为查询语法

我希望能够使用"替换为"语句更新相同模式的表.最后,我需要能够使用可能已更改的值更新大型表.

这是我用来开始的查询:

REPLACE INTO table_name
(visual, inspection_status, inspector_name, gelpak_name, gelpak_location),
VALUES (3, 'Partially Inspected', 'Me', 'GP1234', 'A01');
Run Code Online (Sandbox Code Playgroud)

我不明白的是数据库引擎如何知道什么是重复行而哪些不是?这些数据非常重要,我不能冒数据被破坏的风险.它是否像"如果列出的所有列具有相同的值,它是重复的行"一样简单?

我只是想弄清楚这样做的有效方法,所以我可以在一分钟内更新> 45,000行.

mysql sql database replace

42
推荐指数
2
解决办法
7万
查看次数