как обнаружить строки, заканчивающиеся числом - PullRequest
0 голосов
/ 04 октября 2010

Я пытаюсь разобрать строку, и в некоторых случаях в конце есть дополнительный «- [некоторое число]». например,

вместо показа

 Technologist

показывает

Technologist - 23423

Я не хочу просто проверять или разделять на "-", потому что есть другие имена, в которых есть "-"

Кто-нибудь может придумать, как убрать этот дополнительный шум, так:

Технолог - 23423 разрешает Технолог

Ответы [ 2 ]

2 голосов
/ 04 октября 2010

Это похоже на регистр регулярных выражений, таких как @ "- \ d + $" в данном случае.Пример кода:

using System;
using System.Text.RegularExpressions;

class Test
{
    static void Main()
    {
        Tidy("Technologist - 12345");
        Tidy("No trailing stuff");
        Tidy("A-B1 - 1 - other things");
    }

    private static readonly Regex regex = new Regex(@"- \d+$");

    static void Tidy(string text)
    {
        string tidied = regex.Replace(text, "");
        Console.WriteLine("'{0}' => '{1}'", text, tidied);
    }
}

Обратите внимание, что в настоящее время не обнаруживает отрицательные числа.Если вы хотите, вы можете использовать

new Regex(@"- -?\d+$");
0 голосов
/ 04 октября 2010

Попробуйте это регулярное выражение:

var strRegex = @"\s*-\s*\d+$";

var regex = new Regex(strRegexs);

var strTargetString = "Technologist - 23423";

var res = myRegex.Replace(strTargetString, "");

Это будет работать для следующих строк (все оценивается как Text):

Text - 34234
Text -1
Text    -     342
Text-3443
...