C# 在 httpwebresponse 中查找字符串
C# find string inside httpwebresponse
所以我正在尝试从我的 httpwebresponse 中查找并获取一个字符串,我已经创建了一个流并且可以成功地从输出中读取以识别响应中的文本,但现在我正在尝试提取来自响应的文本,例如:
输出包含,
<script>
var Site = 'home';
var Home = {
page: 24,
name: 'Pokemon',
Title: Pokemon chars
};
</script>
我想做的只是提取
Pokemon
然而这可能会在不同的页面上发生变化,所以我不能假设
name:
包含口袋妖怪
所以我需要做的是 trim 名称但保留内部文本,所以我尝试的是
string str5 = "name: '";
foreach (string str6 in str3.Split(new char[] {'\n'})) // str3 is = to the response given from the request which is now obviously a string its self.
{
if (str6.StartsWith(str5))
{
str4 = str6.Replace(str5, "").Replace("',", "");
}
}
应该找到包含“name:”的行,然后将“name:”替换为空,并且该行的末尾相同,只留下字符串
Pokemon
但它似乎不起作用?
一个选项是使用正则表达式,如果你不能反序列化你的JSON。
string output = @"<script>
var Site = 'home';
var Home = {
page: 24,
name: 'Pokemon',
Title: Pokemon chars
};
</script>";
string regexPattern = @"name:\s'(.+?)',";
Regex reg = new Regex(regexPattern);
var match = reg.Match(output);
if (match.Success)
{
Console.WriteLine(match.Groups[1].Value);
}
您正在使用正则表达式模式捕获 name: '
和 ',
之间的所有内容。
所以我正在尝试从我的 httpwebresponse 中查找并获取一个字符串,我已经创建了一个流并且可以成功地从输出中读取以识别响应中的文本,但现在我正在尝试提取来自响应的文本,例如:
输出包含,
<script>
var Site = 'home';
var Home = {
page: 24,
name: 'Pokemon',
Title: Pokemon chars
};
</script>
我想做的只是提取
Pokemon
然而这可能会在不同的页面上发生变化,所以我不能假设
name:
包含口袋妖怪
所以我需要做的是 trim 名称但保留内部文本,所以我尝试的是
string str5 = "name: '";
foreach (string str6 in str3.Split(new char[] {'\n'})) // str3 is = to the response given from the request which is now obviously a string its self.
{
if (str6.StartsWith(str5))
{
str4 = str6.Replace(str5, "").Replace("',", "");
}
}
应该找到包含“name:”的行,然后将“name:”替换为空,并且该行的末尾相同,只留下字符串
Pokemon
但它似乎不起作用?
一个选项是使用正则表达式,如果你不能反序列化你的JSON。
string output = @"<script>
var Site = 'home';
var Home = {
page: 24,
name: 'Pokemon',
Title: Pokemon chars
};
</script>";
string regexPattern = @"name:\s'(.+?)',";
Regex reg = new Regex(regexPattern);
var match = reg.Match(output);
if (match.Success)
{
Console.WriteLine(match.Groups[1].Value);
}
您正在使用正则表达式模式捕获 name: '
和 ',
之间的所有内容。