在c#中从url字符串中获取数字部分



我有一个URL字符串,如下所示:

https://example.com/app/1095600/example2234

我只想得到">1095600">

这个数字是可变的,可以是三位或三位以上的数字。

如果数字总是在相同的位置(在https://example.com/app/之后),您可以用斜杠(/)字符分割字符串并提取它:

string input = "https://example.com/app/1095600/example2234";
string result = input.Split("/")[4];

您可以在正则表达式的帮助下尝试匹配所需的子字符串,特别是如果您有详细的标准

三位或三位以上数字

代码:

using System.Text.RegularExpressions;
...
string url = "https://example.com/app/1095600/example2234";
string number = Regex.Match(url, @"(?<=/)[0-9]{3,}(?=/|$)").Value;

Mureinik的答案将工作良好,但可以快速打破,如果你的URL是缺少https://部分。最好将字符串转换为Uri并使用Uri。Segments属性提取路径的第二段。

Uri address = new Uri("https://example.com/app/1095600/example2234");
string id = address.Segments[2].Replace("/", "");

这些片段包括结束的斜杠,所以你需要手动删除它。

  1. 标识开始和结束字符串标记
  2. ="开始/程序/",结束="/"。
  3. 把它删掉。

String input = "https://example.com/app/1095600/example2234";
String str_number = input.Substring(input.IndexOf("/app/")+5).Split('/')[0];
int int_number = Convert.ToInt32(str_number); 
  1. 总是尽量写最简单的代码。玩得开心!

相关内容

  • 没有找到相关文章

最新更新