一些常量值后从字符串中删除一些文本(字符串)

时间:2015-01-16 08:00:30

标签: string c#-4.0

 Input: String str="Fund testing testing";
 Output: str="Fund";

资金无论文本是什么,都需要删除该文本。 请提出一些解决方案。

2 个答案:

答案 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);
    }
}

请注意,群组第一元素是您的整个匹配