我可能没有按照我的意愿提出这个问题。请考虑以下情况。
场景:
我正在我的 C# Win Form 应用程序中实现搜索/替换功能。此功能可以选择替换“以”或“以”某个值结尾的子字符串。例如:
- 一个字符串包含
"123ABCD"
. 替换"123"
为"XYZ"
应该产生:"XYZABCD"
- 一个字符串包含
"ABCD123"
. 替换"123"
为"XYZ"
应该产生:"ABCDXYZ"
这两个功能都运行良好。我的问题是当字符串包含"123ABCD123"
. 使用 时,这两个操作都返回错误的值"XYZ"
。
- “开始于”产生
"XYZABCDXYZ"
,而不是"XYZABCD"
- “以”结尾产生
"XYZABCDXYZ"
而不是"ABCDXYZ"
谁能给我一个想法如何实现这一目标?
谢谢 !!!
代码片段:
if (this.rbMatchFieldsStartedWith.Checked)
{
if (caseSencetive)
{
matched = currentCellValue.StartsWith(findWhat);
}
else
{
matched = currentCellValue.ToLower().StartsWith(findWhat.ToLower());
}
}
else if (this.rbMatchFieldsEndsWith.Checked)
{
if (caseSencetive)
{
matched = currentCellValue.EndsWith(findWhat);
}
else
{
matched = currentCellValue.ToLower().EndsWith(findWhat.ToLower());
}
}
if (matched)
{
if (replace)
{
if (this.rbMatchWholeField.Checked)
{
currentCell.Value = replaceWith;
}
else
{
currentCellValue = currentCellValue.Replace(findWhat, replaceWith);
currentCell.Value = currentCellValue;
}
this.QCGridView.RefreshEdit();
}
else
{
currentCell.Style.BackColor = Color.Aqua;
}
}