c# - 从c#中的字符串中拆分数字

标签 c# regex

我在 C# 中有一个这样的字符串:

{ name: "Phai dấu cuộc tình", mp3: "audio\\16\\Phai dau cuoc tinh.mp3"},{ name: "Caravan of life", mp3: "audio\\4\\Caravan of life.mp3"},{ name: "I'm Forbidden", mp3: "audio\\11\\I'm Forbidden.mp3"},{ name: "Cause i love you", mp3: "audio\\6\\Cause i love you.mp3"},{ name: "Chỉ là giấc mơ", mp3: "audio\\8\\Chi la giac mo.mp3"},{ name: "Lột xác ", mp3: "audio\\12\\Lot xac.mp3"

我想将“\\”之间的数字获取到一个新字符串。 例如,结果将是:16;4;11;6;8;12。 任何帮助都会很棒。

最佳答案

使用积极的环视断言:

string str = "{ name: \"Phai dấu cuộc tình\", mp3: \"audio\\16\\Phai dau cuoc tinh.mp3\"},{ name: \"Caravan of life\", mp3: \"audio\\4\\Caravan of life.mp3\"},{ name: \"I'm Forbidden\", mp3: \"audio\\11\\I'm Forbidden.mp3\"},{ name: \"Cause i love you\", mp3: \"audio\\6\\Cause i love you.mp3\"},{ name: \"Chỉ là giấc mơ\", mp3: \"audio\\8\\Chi la giac mo.mp3\"},{ name: \"Lột xác\", mp3: \"audio\\12\\Lot xac.mp3\"}";

foreach (var match in Regex.Matches(str, @"(?<=\\)\d+(?=\\)"))
    Console.WriteLine(match);

备选方案:捕获组

foreach (Match match in Regex.Matches(str, @"\\(\d+)\\"))
    Console.WriteLine(match.Groups[1]);

ideone

关于c# - 从c#中的字符串中拆分数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20548415/

相关文章:

c# - 'System.Security.Cryptography.ProtectedData',版本 : '4.4.0' can not be found

java - 将 SQL 查询文本中的参数替换为 XXXXX

java - 在 java 中为以下数据编写正则表达式代码

javascript - 为什么javascript中这个正则表达式的结果是真的?

c# - 在 C# 中使用 for 循环逐行更新表格

c# - StyleCop 和/或一般风格指南?

c# - RadComboBox 展开时间长

c# - 应用程序在 15 分钟后崩溃,WCE 6.0 CF 3.5 Motorola MC3190

sql - 如何仅在 VARCHAR2 列中允许字母 (Oracle SQL)

regex - PostgreSQL,用于将文本字段与数值匹配的正则表达式