[英]How can I extract a number out of a string using regex?
我有一条很长的线,它可以更长,但我决定把这部分线:
/ "},{"文本":"36"
我想从字符串中获取数字。 或从整行中获取特定于 char / 和文本之后的此数字:“36” 该行太长,无法在此处发布。
我试过这个:
private void GetNumber()
{
string subjectstring = "/ "},{"text":"36"";
string resultString = Regex.Match(subjectstring, @"\d+").Value;
}
问题是我在行的右侧遇到了一些错误:
string subjectstring = "/ "},{"text":"36"";
我得到的错误截图:
好像你的问题实际上是2个问题。
1.为什么我在初始化字符串时会报错"/ "},{"text":"36""
值
这是因为引号表示字符串序列的开始/结束。 由于您的字符串本身有多个引号,因此编译器认为您想要结束该字符串并稍后再次启动它,并且中间的一些字符可能只是在您的程序中随机循环,这会导致编译器错误。
要解决此问题,请在每个应该是值的一部分的引号前面使用\
,以告诉编译器您还没有尝试结束字符串。 在您的示例中,它应该如下所示: "/ \"},{\"text\":\"36\""
2. 如何使用 Regex 从字符串中提取数字?
无论通过正则表达式的格式如何,您是否只想在任何类型的字符串中获取一个数字? 如果是这种情况,您所要做的就是:
var result = int.Parse(new Regex(@"\d+").Match("/ \"},{\"text\":\"36\"").Value); // Outputs 36 as an integer
但是,我强烈建议不要将正则表达式用于这样的简单任务,因为它们的性能非常高。 这是一个更好的方法: https://stackoverflow.com/a/15669520/9988162
如果您的格式一致,请更新您的问题,以便我们为其构建格式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.