我正在尝试解析一个字符串,在某些情况下,最后会有一个额外的“ - [某个数字]”。例如,
而不是显示
Technologist
显示
Technologist - 23423
我不想只检查或拆分“ - ”,因为还有其他名称中有“ - ”
任何人都可以想到一种清除这种额外噪音的方法:
技师 - 23423 解析为技师
答案 0 :(得分:2)
这看起来像一个正则表达式,例如@“ - \ 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+$");
答案 1 :(得分:0)
试试这个正则表达式:
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