Input: String str="Fund testing testing";
Output: str="Fund";
资金无论文本是什么,都需要删除该文本。 请提出一些解决方案。
答案 0 :(得分:2)
解决此问题的最简单方法是.Substring()
方法,因为您可以为它提供原始字符串的起始索引和所需字符串的长度:
var length = "Fund".Length;
var str = "Fund testing testing";
Console.WriteLine(str.Substring(0, length)); //returns "Fund"
var str1 = "testFund testing testing";
Console.WriteLine(str1.Substring(4, length)); //returns "Fund"
var str2 = "testFund testing testing";
Console.WriteLine(str2.Substring(str2.IndexOf("Fund"), length)); //returns "Fund"
答案 1 :(得分:2)
你也可以使用这样的正则表达式:
string strRegex = @".*?(Fund).*";
Regex myRegex = new Regex(strRegex, RegexOptions.Singleline);
string strTargetString = @"Fund testing testing";
string strReplace = @"$1";
return myRegex.Replace(strTargetString, strReplace);
正如下面的评论中提到的,替换可能缺乏性能并且有点矫枉过正,因此正则表达式匹配可以更好。这是它的样子:
string strRegex = @".*?(Fund).*";
Regex myRegex = new Regex(strRegex, RegexOptions.None);
string strTargetString = "\n\n" + @" Fund testing testing";
foreach (Match myMatch in myRegex.Matches(strTargetString))
{
if (myMatch.Success)
{
var fund = myMatch.Groups[1].Value;
Console.WriteLine(fund);
}
}
请注意,群组第一元素是您的整个匹配