簡體   English   中英

特定模式字符串的正則表達式

[英]Regular Expression for specific pattern string

我想使用下面的正則表達式刪除特定字符串:

輸入字符串:

{"t":1,"i":"a32dffdd-c99d-4df5-9296-9ae5fb024dc1","p":"在數據庫服務器時間:2017 年 9 月 27 日星期三 05:27:18 GMT+0000 (UTC),你發送此消息:{'t':1,'i':'a32dffdd-c99d-4df5-9296-9ae5fb024dc1','p':{'u':'/test/delayed','v':'GET' ,'h':{'X-BH-AgentID':'testagent','X-BH-TempToken':'testagenttemptoken'},'p':'','t':{'t':1000}} }"}

使用正則表達式刪除以下字符串:

At DB Server Time: Wed Sep 27 2017 05:27:18 GMT+0000 (UTC), you sent this message:

我想要以下輸出:

{"t":1,"i":"a32dffdd-c99d-4df5-9296-9ae5fb024dc1","p":" {'t':1,'i':'a32dffdd-c99d-4df5-9296-9ae5fb024dc1' ,'p':{'u':'/test/delayed','v':'GET','h':{'X-BH-AgentID':'testagent','X-BH-TempToken': 'testagenttemptoken'},'p':'','t':{'t':1000}}}"}

提前致謝

我認為你可以使用這樣的代碼:

var input = @"{""t"":1,""i"":""a32dffdd-c99d-4df5-9296-9ae5fb024dc1"",""p"":""At DB Server Time: Wed Sep 27 2017 05:27:18 GMT+0000 (UTC), you sent this message: {'t':1,'i':'a32dffdd-c99d-4df5-9296-9ae5fb024dc1','p':{'u':'/test/delayed','v':'GET','h':{'X-BH-AgentID':'testagent','X-BH-TempToken':'testagenttemptoken'},'p':'','t':{'t':1000}}}""}";
var pattern = @"At\s+DB\s+Server\s+Time:\s+\w{3}\s+\w{3}\s+\d+\s+\d{4}\s+[0-9:]{8}\s+GMT\+\d+\s+\(UTC\)\s*,\s+you\s+sent\s+this\s+message:";
var result = Regex.Replace(input, pattern, string.Empty);

C# 演示

你可以這樣做:

var input = @"{""t"":1,""i"":""a32dffdd-c99d-4df5-9296-9ae5fb024dc1"",""p"":""At DB Server Time: Wed Sep 27 2017 05:27:18 GMT+0000 (UTC), you sent this message: {\""t\"":1,\""i\"":\""a32dffdd-c99d-4df5-9296-9ae5fb024dc1\"",\""p\"":{\""u\"":\""/test/delayed\"",\""v\"":\""GET\"",\""h\"":{\""X-BH-AgentID\"":\""testagent\"",\""X-BH-TempToken\"":\""testagenttemptoken\""},\""p\"":\""\"",\""t\"":{\""t\"":1000}}}""}";

var pattern = @"""At.*message:";
var replacement = string.Empty;

var rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);

您可以在那里找到文檔: 鏈接到 docs.microsoft.com
基本上,您將要刪除的字符串替換為空。

但請記住:至少嘗試做一些事情而不是要求其他人下次為您編寫代碼:)

我認為這是在雙引號中使用第一個 p 的最佳方法

            string input = "{\"t\":1,\"i\":\"a32dffdd-c99d-4df5-9296-9ae5fb024dc1\",\"p\":\"At DB Server Time: Wed Sep 27 2017 05:27:18 GMT+0000 (UTC), you sent this message: {'t':1,'i':'a32dffdd-c99d-4df5-9296-9ae5fb024dc1','p':{'u':'/test/delayed','v':'GET','h':{'X-BH-AgentID':'testagent','X-BH-TempToken':'testagenttemptoken'},'p':'','t':{'t':1000}}}\"}";
            string pattern = "\"p\":[^\\{]+";
            string mat = Regex.Match(input, pattern).Value;
            input = Regex.Replace(input,pattern,"\"p\": ");

暫無
暫無

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

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