如何在字符串中查找数值

我正在尝试创建一个方法,用于分析一段文本,看它是否包含数值。例如,给定以下字符串:

2乘2等于多少?

我需要确定以下信息:

  • 字符串包含数值:True
  • 它包含的数值是什么:2(任何一个数值都应该使函数返回true,并且我应该将每个2在字符串中的位置存储在一个变量中,例如第一个2的位置为0)

这是我目前的代码:

Public Function InQuestion(question As String) As Boolean    ' 使用字符串中数字的位置进行可能的子字符串操作?End Function

回答:

这是一个示例控制台应用程序:

Module Module1    Sub Main()        Dim results As List(Of NumericValue) = GetNumericValues("2乘2等于多少?")        For Each i As NumericValue In results            Console.WriteLine("{0}: {1}", i.Position, i.Value)        Next        Console.ReadKey()    End Sub    Public Class NumericValue        Public Sub New(value As Decimal, position As Integer)            Me.Value = value            Me.Position = position        End Sub        Public Property Value As Decimal        Public Property Position As Integer    End Class    Public Function GetNumericValues(data As String) As List(Of NumericValue)        Dim values As New List(Of NumericValue)()        Dim wordDelimiters() As Char = New Char() {" "c, "*"c, "?"c}        Dim position As Integer = 0        For Each word As String In data.Split(wordDelimiters, StringSplitOptions.None)            Dim value As Decimal            If Decimal.TryParse(word, value) Then                values.Add(New NumericValue(value, position))            End If            position += word.Length + 1        Next        Return values    End FunctionEnd Module

如您所见,它传递了字符串“2乘2等于多少?”并输出每个数值的位置和值:

8: 2

12: 2

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注