我不能从字符串转换为int

时间:2016-04-13 19:20:18

标签: .net regex vb.net

我正在使用正则表达式从网站上删除数字,然后我想通过4来获取该数字。

Dim thepage As String = postreqreader.ReadToEnd

Dim r As New System.Text.RegularExpressions.Regex("Views"">\(....)")
Dim matches As MatchCollection = r.Matches(thepage)

Dim kwota As String

For Each itemcode As Match In matches
    kwota = itemcode.Groups(1).Value
Next

Dim stringToInteger As Integer = Convert.ToInt32(kwota)

之后我发现错误:An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll。我不知道该怎么做。我使用的是Microsoft Visual Studio,VB .net。 kwota变量包含15.2作为字符串。

3 个答案:

答案 0 :(得分:1)

Val功能非常强大。尝试:

Dim stringToInteger As Integer = CInt(Val(kwota))

答案 1 :(得分:0)

如果要转换为整数,请将字符串转换为float,然后转换为整数。

Dim stringToInteger As Integer = Convert.ToInt32(Convert.ToDouble(kwota))

答案 2 :(得分:0)

更改你的正则表达式。你只需要5个点可以写成:\d+\.\d+这意味着,匹配一个或多个数字,然后是一个字面句点,后跟一个或多个数字。这样你知道你正在抓取一个数字而不是该网页上的其他任何废话。

免责声明:我必须看到HTML,看看正则表达式是否符合它的编写方式。