【发布时间】:2020-11-13 18:40:22
【问题描述】:
这是我在这个论坛的第一篇文章。我有一个双精度文本,我想用另一个文本替换它。
这是我的全文
“运营指标~Copper C1 现金成本(美元/磅)-Lalor~9999”*“运营指标~加元(加元/美元)~9999”
此文本“Operational Metrics~Copper C1 Cash Costs (US$/lb) - Lalor~9999” 将替换为 Excel 单元格地址 A10。
我尝试过这种方式,但无法替换双引号内的文本。我的代码中肯定有我无法修复的问题。
string mainstr = "\"" + "Operational Metrics~Copper C1 Cash Costs (US$/lb) - Lalor~9999" + "\"" + "*" + "\"" + "Operational Metrics~Canadian Dollars (Canadian $/US$)~9999" + "\"";
string replacesfrom = "\"" + "Operational Metrics~Copper C1 Cash Costs (US$/lb) - Lalor~9999" + "\"";
string replacesto = "A10";
string afterreplace = Regex.Replace(mainstr, replacesfrom, replacesto);
期望的输出将是。
"A10"*"Operational Metrics~Canadian Dollars (Canadian $/US$)"
我也试过这个逻辑,但还是没有运气。
public static string ReplaceWholeWord(this string original, string wordToFind, string replacement, RegexOptions regexOptions = RegexOptions.None)
{
string pattern = String.Format(@"\b{0}\b", wordToFind);
string ret = Regex.Replace(original, pattern, replacement, regexOptions);
return ret;
}
使用上述功能,我尝试替换,但遗憾的是无法替换文本 Operational Metrics~Copper C1 Cash Costs (US$/lb) - Lalor 与 A10
请建议我在上面的代码中要更改的内容。
【问题讨论】:
-
这里不需要正则表达式,因为您只是替换静态子字符串;
string.Replace应该足够了。如果必须使用正则表达式,则需要注意括号、美元和正斜杠字符具有特殊含义,需要转义。
标签: c#