c# - 如何使用 C# 提取括号之间的所有字符串?

标签 c# split

如果我有一个字符串,例如:

“你的id是(1),你的号码是(0000000000)”

将这些字符串提取到字符串列表中的最佳方法是什么。括号之间的数字可以增加位数,因此搜索括号之间的字符串是一种更好的技术。

我可以使用下面的代码来提取括号之间的第一个字符串。

var myString = "You id is (1) and your number is (0000000000)";
var firstNumberBetweenBrackets = myString.Split('(', ')')[1]; // would return 1

最佳答案

这是一个 LINQ 解决方案:

var result = myString.Split().Where(x => x.StartsWith("(") && x.EndsWith(")")).ToList();

存储在 result 中的值:

result[0] = (1)
result[1] = (0000000000)

如果您只想要不带括号的数字,请使用:

var result = myString.Split().Where(x => x.StartsWith("(") && x.EndsWith(")"))
                     .Select(x=>x.Replace("(", string.Empty).Replace(")", string.Empty))
                     .ToList();

存储在 result 中的值:

result[0] = 1
result[1] = 0000000000

关于c# - 如何使用 C# 提取括号之间的所有字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48972999/

相关文章:

c# - 从 linq 语句中调用函数

c# - 无法将 blob 从一个存储帐户复制到另一个存储帐户

javascript - 如何计算javascript中字符串的行数

java - String.split(pattern) 由于 { in pattern : java. util.regex.PatternSyntaxException 而抛出异常

java - 我该如何拆分?

javascript - 如何分别分割纬度和经度

Java分割一个字符串并将其中一个转换为double

c# - 在 Entity Framework 中更新数据库

C# Linq to XML - 返回多个子项

c# - 在 ASMX 服务中限制来自不同设备的并发登录