我有一个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("/", "");
这些片段包括结束的斜杠,所以你需要手动删除它。
- 标识开始和结束字符串标记
- ="开始/程序/",结束="/"。
- 把它删掉。
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);
- 总是尽量写最简单的代码。玩得开心!