簡體   English   中英

正則表達式C#

[英]Regular Expression C#

我需要使用c#RegEx來處理字符串。 這個想法是刪除首字母字符,就像子字符串一樣。

示例字符串:=“04 | aH 800 A574a CR”;

結果應為“H 800 A574a CR”。

但是贊助人是可變的,因為字符串可以是“4 | aProtestas populares”,結果應該是“Protestas populares”

總結一下,我需要在“| x”后面的子串忽略此表達式之前的內容。

謝謝...

PD:對不起我的英文:S

var stringNew = Regex.Replace(stringOld, @"^.*?\|.", "");

這刪除了一切

  • 在字符串的開頭^
  • 包含任何東西.*?
  • 以管道結束|
  • 加上隨后的任何一個字符.

如果字符串總是有管道,后面有一個字符,那么你想要保留的是,你可以使用String.IndexOf() 使用一個字符串方法比使用RegEx對象要快得多。

string str = "04|aH 800 A574a C.R.";
int nIndex = str.IndexOf('|') + 2;
string substr = str.Substring(nIndex); // contains "H 800 A574a C.R."

這個正則表達式給你想要的結果:

(\|)[a-zA-Z](?<wanted>[\s\S]+)$

名為'wanted'的組給出了后面的“| x”。

暫無
暫無

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

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