Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 需要帮助以提取中间的文本<;p类=';otp&x27&燃气轮机;23454</p>;_C#_Variables - Fatal编程技术网

C# 需要帮助以提取中间的文本<;p类=';otp&x27&燃气轮机;23454</p>;

C# 需要帮助以提取中间的文本<;p类=';otp&x27&燃气轮机;23454</p>;,c#,variables,C#,Variables,好的,在我的临时邮件页面上,amazon发送了一封电子邮件,在inspect元素的页面源中,有以下内容: <p class='otp'>23454</p> 但是它说otp不是有效的类/找不到。 p是整个源代码中的第四个p。 我想将值between(在本例中为23454)分配给一个变量,该变量可以命名为任何名称,最好是“code”。 号码每次都会改变。谢谢大家! 如果您100%确定html将是这样,并且没有其他类似的p应该被跳过,那么您可以使用如下正则表达式: <p

好的,在我的临时邮件页面上,amazon发送了一封电子邮件,在inspect元素的页面源中,有以下内容:

<p class='otp'>23454</p>
但是它说otp不是有效的类/找不到。
p
是整个源代码中的第四个p。 我想将值between(在本例中为23454)分配给一个变量,该变量可以命名为任何名称,最好是“code”。
号码每次都会改变。谢谢大家!

如果您100%确定html将是这样,并且没有其他类似的
p
应该被跳过,那么您可以使用如下正则表达式:

<p class='otp'>(\d*)<\/p>

(\d*)

这将为您提供内容,只要它们只是数字或是空的。您需要从匹配中获取第二组(第一组是整个匹配,包括周围的html)

例如:

string html = "<p class='otp'>23454</p>";
var results = Regex.Match(html, "<p class='otp'>(\\d*)<\\/p>"); // Note you need to escape the \ from the regex
string value = null;
if (results.Success && results.Groups.Count == 2)
    value = results.Groups[1].Value; // This will assign 23454
string html=“

23454

”; var results=Regex.Match(html,“

(\\d*)”)”//注意:您需要从正则表达式中转义\ 字符串值=null; if(results.Success&&results.Groups.Count==2) 值=结果。组[1]。值;//这将分配23454


如果html可能有任何不同,具有更多属性,则可能需要使用html解析器,如
HtmlDocument

我已经尝试了多种方法!比如'String codess=driver.FindElement(By.ClassName(“otp”)).Text;`但它说otp不存在。我不喜欢你来这里说我没有付出任何努力,我在过去的8个小时里一直在做这件事。你的问题在你编辑之前没有表现出任何努力。事情出错的可能性太多了,所以多加一点背景就好了。那是什么类型的
驱动程序
对象?你在用硒吗?是的,我在用硒。司机是镀铬司机。关于下面的答案,您需要什么样的背景?如前所述,代码总是
一些数字,它们是
,我只需要这些数字,它们每次都会不同。嗨,安德鲁,谢谢你的回答。我有一个后续问题,第一行
字符串html=“

23454

当我这样做时,它在其他时间将如何工作?因为数字会不断变化。当然,这只是一个例子,向你展示正则表达式是如何工作的。您应该改用输入字符串。在你的问题中要求你提供上下文,但你没有提供上下文。
string html = "<p class='otp'>23454</p>";
var results = Regex.Match(html, "<p class='otp'>(\\d*)<\\/p>"); // Note you need to escape the \ from the regex
string value = null;
if (results.Success && results.Groups.Count == 2)
    value = results.Groups[1].Value; // This will assign 23454