using System;
using System.Globalization;
using System.Linq;
using System.Collections.Generic;
using System.Threading;
public class Test
{
public static void Main()
{
string test = "test...abc...";
string leftTrimmed = test.TrimLettersLeft();
Console.WriteLine(test);
Console.WriteLine(leftTrimmed);
}
}
static class Exension
{
public static string TrimLettersLeft(this string input)
{
int lastLetterIndex = -1;
for (int i = input.Length - 1; i >= 0; i--)
{
if (Char.IsLetter(input[i]))
{
lastLetterIndex = i;
break;
}
}
if (lastLetterIndex == -1)
return input;
else
return input.Substring(0, lastLetterIndex + 1);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uR2xvYmFsaXphdGlvbjsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nOwoKcHVibGljIGNsYXNzIFRlc3QKewoKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsgCiAgICAgICAgc3RyaW5nIHRlc3QgPSAidGVzdC4uLmFiYy4uLiI7CiAgICAgICAgc3RyaW5nIGxlZnRUcmltbWVkID0gdGVzdC5UcmltTGV0dGVyc0xlZnQoKTsKICAgICAgICBDb25zb2xlLldyaXRlTGluZSh0ZXN0KTsKICAgICAgICBDb25zb2xlLldyaXRlTGluZShsZWZ0VHJpbW1lZCk7Cgl9Cn0KCnN0YXRpYyBjbGFzcyBFeGVuc2lvbgp7CiBwdWJsaWMgc3RhdGljIHN0cmluZyBUcmltTGV0dGVyc0xlZnQodGhpcyBzdHJpbmcgaW5wdXQpCiAgICAgICAgewogICAgICAgICAgICBpbnQgbGFzdExldHRlckluZGV4ID0gLTE7CiAgICAgICAgICAgIGZvciAoaW50IGkgPSBpbnB1dC5MZW5ndGggLSAxOyBpID49IDA7IGktLSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKENoYXIuSXNMZXR0ZXIoaW5wdXRbaV0pKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGxhc3RMZXR0ZXJJbmRleCA9IGk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChsYXN0TGV0dGVySW5kZXggPT0gLTEpCiAgICAgICAgICAgICAgICByZXR1cm4gaW5wdXQ7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHJldHVybiBpbnB1dC5TdWJzdHJpbmcoMCwgbGFzdExldHRlckluZGV4ICsgMSk7CiAgICAgICAgfSAKfQ==