Lalita
Lalita

Reputation: 163

Remove some text from a string after some constant value(string)

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

After fund whatever the text is there need to remove that text. Please suggest some solution.

Upvotes: 0

Views: 70

Answers (2)

Alex Voskresenskiy
Alex Voskresenskiy

Reputation: 2233

You can also use regular expression like this:

string strRegex = @".*?(Fund).*";
Regex myRegex = new Regex(strRegex, RegexOptions.Singleline);
string strTargetString = @"Fund testing testing";
string strReplace = @"$1";

return myRegex.Replace(strTargetString, strReplace);

As mentioned in comments below, replace can lack performance and is kind of overkill, so regex Match can be better. Here is how it looks like:

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

Note that Groups first element is your entire match

Upvotes: 2

VMAtm
VMAtm

Reputation: 28355

The easiest way to solve this is a .Substring() method, as you can provide it the start index of your original string and length of the string you need:

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"

Upvotes: 2

Related Questions