如何在一个带有双引号的特定字符串后面附加一个单词?

时间:2019-03-10 13:24:01

标签: c# regex string append

我有一个包含多个单词的字符串,双引号和一个附加字符串。我需要在存在.xyz的双引号后面附加一个字符串。举例来说:

string stringToAppend = "append";
string str = "Lorem Ipsum is \"simply\" dummy text of the \"printing.xyz\" and typesetting industry";

我需要在出现字符串“ .xyz”的那个双引号的开头追加一个字符。

当前输出为:

  

Lorem Ipsum是“ printing.xyz”和排版行业的“简单”伪文本

我希望它像这样添加并打印:

  

Lorem Ipsum是“ appendprinting.xyz”和排版行业的“简单”伪文本

2 个答案:

答案 0 :(得分:0)

尝试这样的事情

var extension = ".xyz";
var data = "Lorem Ipsum is \"simply\" dummy text of the \"printing.xyz\" and typesetting industry";
var insertion = "append";
int index = data.IndexOf(extension);
for(int i = index; i > 0; i--){
 if(data[i] == '\"'){
  return data.Insert(i, insertion);
 }
}

答案 1 :(得分:0)

您可以使用正则表达式尝试以下代码:

string stringToAppend = "append";
string str = "Lorem Ipsum is \"simply\" dummy text of the \"printing.xyz\" and typesetting industry";

// I used index of a match to insert string, added one because pattern also matched "
str = str.Insert(Regex.Match(str, "\"\\w+\\.xyz").Index + 1, stringToAppend);

我使用了模式"\w+\.xyz

"-从字面上匹配"

\w+-匹配一个或多个单词字符

\.xyz-从字面上匹配.xyz