在字符串中提取以某物开头和结尾的模式
本文关键字:开头 结尾 模式 字符串 提取 | 更新日期: 2023-09-27 18:34:30
我需要在字符串中提取一个以某物开头和结尾的模式
这是网址:
http://monsite.com/articles/%d8%a7%d8%af%d9%85%d9%8a%d9%84%d8%b3%d9%88%d9_sto3955603/description.html
在 C# 中,如何从此 url 中提取模式%d8%a7%d8%af%d9%85%d9%8a%d9%84%d8%b3%d9%88%d9_
?
模式的起始字符%
,结束字符_
您可以使用String.SubString
和String.IndexOf
方法,例如;
string s = "http://monsite.com/articles/%d8%a7%d8%af%d9%85%d9%8a%d9%84%d8%b3%d9%88%d9_sto3955603/description.html";
Console.WriteLine(s.Substring(s.IndexOf('%'), s.IndexOf('_' ) - s.IndexOf('%') + 1));
输出将是;
%d8%a7%d8%af%d9%85%d9%8a%d9%84%d8%b3%d9%88%d9_
这里有一个Demonstration
.
如果你想先检查你的字符串是否有%
或_
字符,你可以使用String.Contains
方法,如;
if(s.Contains("%") && s.Contains("_") && (s.IndexOf('_') > s.IndexOf('%')))
{
// Your string has % and _ characters and also _ comes after first %.
}
考虑以下代码片段...
string input = "http://monsite.com/articles/%d8%a7%d8%af%d9%85%d9%8a%d9%84%d8%b3%d9%88%d9_sto3955603/description.html"; var output = Regex.Match(input, @"%['w'd%]*_"); Console.WriteLine(output.Value);
输出是...
%D8%A7%D8%AF%D9%85%D9%8A%D9%84%D8%B3%D9%88%d9_