簡體   English   中英

如何用正則表達式替換字符串?

[英]How can I replace string with regular expressions?

我將字符串替換如下:

string str = "Opps V 14";
str = str.Replace("V 14", "V14");

但是字符串的數字部分不是靜態的。 有時可以是“ V 17”,“ V 13”等。

如何在全球范圍內將其替換為正則表達式?

這將用任何內容替換V和一個數字之間的空格:

string pattern = @"(?<=\bV) (?=\d)";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(str, "");

(?<=\\bV)是一個后置斷言,表示“以V開頭”, \\b是單詞邊界。

(?=\\d)是前瞻性斷言,表示“后跟數字”

環視斷言不是匹配結果的一部分,而只是檢查。 這就是為什么只刪除空間的原因。

注意:您必須包括using System.Text.RegularExpressions; 在文件的開頭。

假設除數字外,字符串的其余部分都是靜態的,則其與刪除V后的空格一樣簡單:

str = str.Replace(“ V”,“ V”);

class Program
{
    static void Main(string[] args)
    {
        string str = "Opps V 14";
        string[] temp = str.Split(' ');
        str = String.Join(" ", temp.Take(2)) + temp.Last();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM