我想在每行中只替换第一次出现的单词(默认)和另一个单词(rwd)。
如下所示我希望如此:
../app/design/adminhtml/default/default/layout/pmodule.xml
../app/design/frontend/default/default/layout/pmodule.xml
../app/design/frontend/default/default/template/company/module/gmap.phtml
要替换为:
../app/design/adminhtml/rwd/default/layout/pmodule.xml
../app/design/frontend/rwd/default/layout/pmodule.xml
../app/design/frontend/rwd/default/template/company/module/gmap.phtml
我尝试了\bdefault\b
,但徒劳无功。
答案 0 :(得分:3)
您可以使用具有延迟点匹配模式的正则表达式:
^(.*?)\bdefault\b
替换为\1rwd
。
请参阅regex demo
模式详情:
^
- 开始行/字符串(.*?)
- 第1组捕获除换行符之外的任何0+字符,直至第一个\bdefault\b
- 整个字default
。答案 1 :(得分:1)
答案 2 :(得分:0)
var path = @"C:\Users\pcNameHere\Downloads\dictionary.csv";
var destination = @"C:\Users\pcNameHere\Downloads\dictionaryEnglish.csv";
var database = File.ReadAllLines(path);
var pattern = ",";
Regex reg = new Regex(pattern);
string[] result = new string[database.Length];
for (int i = 0; i < database.Length; i++)
{
result[i] = reg.Replace(database[i], "|", 2);
}
File.WriteAllLines(destination, result);
这是我给将来看的任何人的样本。我有带有以下行的英语词典文本文件: “算盘”,“ n。”,“撒满沙子的桌子或托盘,过去常用于绘图,计算等。”
而且我不得不用其他东西替换逗号分隔符,以便可以将它们导入数据库,因为单词定义中包含逗号,并且数据库会将它们视为新的列。这段代码更改了文本文件中每行中前两个逗号的出现。