我的网页上有一个多行文字框。我正在粘贴下面显示的文档内容,我想找到一个图案并在其上面插入一行文字。
RANDOM TEXT Title 123 AB
Data 01
ABC RAND Title 345 CB
Data 02
有没有办法找到所有标题字词并在其上方插入一行文字?如下所示?
I WANT TO SPLIT HERE
RANDOM TEXT Title 123 AB
Data 01
I WANT TO SPLIT HERE
ABC RAND Title 345 CB
Data 02
答案 0 :(得分:1)
搜索:
(\n|^)[^\n]+Title[^\n]+
\n
=新行
^
=字符串/文件的开头
[^x]
=不是x
[^x]+
=很多不是x' s
|
=替代
替换为:
I WANT TO SPLIT HERE\n$0
$0
=锚定到匹配的文本(0就是一切)
要想出这些事情,请尝试使用:
答案 1 :(得分:1)
如果你真的只搜索一个单词" Title",你甚至不需要regex
。
using System.Linq;
. . . . . .
List<string> lines = myTb.Split(new Char[] { "\n", "\r" }, StringSplitOptions.None);
int index;
while (index < lines.Length)
{
if (lines[i].IndexOf(" title ", StringComparison.OrdinalIgnoreCase) > -1)
{
lines.Insert(index, "my insert text into new line");
// we just added new line, so current line is index + 1
index++;
}
index++;
}
myTb.Lines = string.Join(lines, "\n\r");
注意 - 不能使用for循环,因为集合正在变异。而这[最有可能]比正则表达更快。试试这个ant time vs regex选项,并用时间结果评论我的答案。感谢