如何在字符串中查找数值

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

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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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