我有一些正则表达式来转换
中的字符串RRP ?142 - Now ?113 to just 142
为此,我使用的代码是
private Regex _originalPriceRegex = new Regex(@"[+-]?\d+(?:\.\d*)?");
当程序从下面的函数返回值
时,我收到异常private string LookForOrignalPrice(HtmlNode node)
{
string text = node.InnerText;
Match priceMatch = _originalPriceRegex.Match(text);
if (priceMatch.Success)
{
Console.WriteLine("++++++price is " + priceMatch + "++++++++++++++++++++++++");
return priceMatch.Groups[1].Value; //Issue arising here
}
return null;
}
调用该函数的代码是
{ProductProperties.priceOriginal, new HtmlElementLocator("//td[@class='tdRow1Color']//td[@class='plaintext']//text()[starts-with(., 'RRP')] | descendant::td[@class='tdRow1Color']/descendant::td[contains(text(), '£')] | //span[@style='font-weight:bold;color:White;']",
customValueHandler: new CustomValueHandler(LookForOrignalPrice))
当函数返回函数的值时,问题似乎正在到来,因为它只返回一个数字是否有办法将函数中的字符串转换为decimal或int来绕过异常。 感谢您提供任何建议