如何使用正则表达式删除包含特定标识符的字符串中的数字

时间:2018-10-16 15:19:25

标签: c# regex

我被困住了,希望你们中的一位正则表达式向导能提供真知灼见。我需要删除包含“ PK ##。##”的字符串中的所有内容。例如:

string ts = "HELLO PK 2233.33 TEST PK11.1";
//Should output as "HELLO PK 2233.33 TEST"

string ns = Regex.Replace(ts, @"PK[\d]", string.Empty); 
//currently outputting "HELLO PK 2233.33 TEST 1.1"

我当前的Regex几乎可以使用,但是只能从字符串的“ PK”部分删除1位数字。

1 个答案:

答案 0 :(得分:2)

您还需要匹配尾随空格和小数部分:

\s+PK\d+(?:\.\d+)?

如果必须使用\.\d+部分,请删除括号:

\s+PK\d+\.\d+