我正在努力理解并修复这个错误,我试图从文本中抓取数字。
我最后有alternativeAirportPrice.Text
的两段文字。一个人说:
+156 on same day
所以我想从这个文本中只输出156 另一个说:
-156 on same day
所以我只想输出 - 这篇文章中的156
我实施foreach
方法以使用char.IsNumber()
,但我在c
Select(c => c.toString())
的错误
错误是:
本地或参数名称'c'不能在此范围内声明,因为 该名称是TestSuite,用于封闭的本地范围以定义 本地或参数。
我需要做些什么来解决这个问题,并且只能从文本中吐出数字?
public string GetAlternativeAirportPrice(By airportPriceLocator)
{
var alternativeAirportPrices = _driver.FindElements(airportPriceLocator);
foreach (var alternativeAirportPrice in alternativeAirportPrices)
{
if (alternativeAirportPrice.Displayed)
foreach (char c in alternativeAirportPrice.Text)
{
if (char.IsNumber(c))
{
alternativeAirportPrice.Text.ToCharArray().Select(c => c.ToString()).ToArray();
}
}
return alternativeAirportPrice.Text;
}
return null;
}
答案 0 :(得分:3)
这是因为您已在代码中的以下行中声明了c
:
foreach (char c in alternativeAirportPrice.Text)
因此,您无法再次在Select
中使用它。请尝试使用其他内容,例如x
:
.Select(x => x.ToString())
或尝试将c
重命名为foreach
内的其他内容,例如item
:
foreach (char item in alternativeAirportPrice.Text)
{
if (char.IsNumber(item))