簡體   English   中英

用正則表達式解析字符串

[英]Parse string with regex

我有一個字符串需要解析。 問題在於字符串的某些部分並不總是相同的。

a3:S8:[gmpage] S17:Head GM NecrocideS12:test [15158]

前18個字符始終是相同的,因此我可以輕松地將這些String.Substring()取出。

我的問題是字符S12:並非總是S12:很容易是S26: -因此我不能在其上使用簡單的String.Replace() 我需要將這3個字符替換為: 

我該如何使用正則表達式呢? 謝謝。

嘗試這個:

string input = "a3:S8:[gmpage]S17:Head GM NecrocideS12:test [15158]";
string output = Regex.Replace(myString, "NecrocideS\d\d:", "Necrocide:");

怎么樣:

Regex reg = new Regex(@"\A(?<before>a3:S8:\[gmpage\])(?<delete>.{3})(?<after>:Head GM NecrocideS12:test \[15158\])\Z");
string input = @"a3:S8:[gmpage]S26:Head GM NecrocideS12:test [15158]";
string output = reg.Replace(input, "${before}${after}");

這將用“”替換S26

暫無
暫無

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

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