C# removing substring from end of string

Entity picture Entity · Nov 4, 2010 · Viewed 82.1k times · Source

I have an array of strings:

string[] remove = { "a", "am", "p", "pm" };

And I have a textbox that a user enters text into. If they type any string in the remove array at the end of the text in the textbox, it should be removed. What is the easiest way to do this?

EDIT To clarify, I'm making a time parser. When you give the function a string, it does its best to parse it into this format: 08:14pm I have a textbox to test it. When the focus leaves the textbox, I need to get the text without the am/pm/a/p suffix so I can parse the number only segment.

Answer

BrokenGlass picture BrokenGlass · Nov 4, 2010
string[] remove = { "a", "am", "p", "pm" };
string inputText = "blalahpm";

foreach (string item in remove)
    if (inputText.EndsWith(item))
    {
        inputText = inputText.Substring(0, inputText.LastIndexOf(item));
        break; //only allow one match at most
    }