簡體   English   中英

需要從c#中的分隔符中提取字符串

[英]Need to extract string from a separator in c#

請給我一個字符串,如RemoteAuthorizationTestScope |開始:En Attente驗證|:001 |:01195 | 21/01/2015

我可以從|中提取字符串 使用此代碼的符號

var userInfo="RemoteAuthorizationTestScope|Start:En Attente Validation|:001|:01195|21/01/2015"
var entries=userInfo.Split('|');

但是,在字符串中還有需要分離的文本“Start:En Attente Validation”,如何實現這一點,以便我可以以這種方式分隔字符串。

RemoteAuthorizationTestScope
Start
En Attente Validation
001 
01195
21/01/2015

您可以指定要拆分的多個字符,也可以刪除空條目。 使用String.Split overload如:

var entries = userInfo.Split(new []{'|', ':'}, StringSplitOptions.RemoveEmptyEntries);

那會給你

RemoteAuthorizationTestScope
Start
En Attente Validation
001 
01195
21/01/2015

包括您的額外請求:

“開始:En Attente驗證”如何才能在列字符':'之后只獲取字符串?

您可以使用正則表達式一步完成此操作: \\|(?:[^:]*:)?

var userInfo = 
  "RemoteAuthorizationTestScope|Start:En Attente Validation|:001|:01195|21/01/2015";

var entries = System.Text.RegularExpressions.Regex.Split(userInfo, "\\|(?:[^:]*:)?");

結果是:

String[]
[
   "RemoteAuthorizationTestScope",
   "En Attente Validation",
   "001",
   "01195",
   "21/01/2015"
]

工作示例: https//dotnetfiddle.net/D5ggvH

暫無
暫無

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

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