繁体   English   中英

vb.net 如何在字符串中查找数字范围

[英]vb.net how to find a range of digits in string

我想按数字范围(0 到 20)分割字符串,字母应该是.toLower

如何在我的代码中定义范围?

我试图这样做:( ("0","1","2","3")

                    Dim Tolerancevalueofext As String = "JS12"
                    Dim removenumber As String = Tolerancevalueofext.Substring(0, Tolerancevalueofext.IndexOf("0","1","2","3")).ToLower

但这绝对是错误的。

你的要求我很不清楚,但这里有一种方法:
1. 仅从字符串中提取数字(使用Regex )。
2.从包含数字的字符串中只提取字母并将它们转换为小写字母。

Private Sub Example()
    Dim Tolerancevalueofext As String = "JS12"

    ' only numbers, output: "12"
    Dim onlynumbers As String = extractNumberFromString(Tolerancevalueofext).ToString()
    ' only characters, output: "js"
    Dim onlycharacters As String = String.Empty
    For Each line As String In Tolerancevalueofext
        If Not (IsNumeric(line)) Then
            onlycharacters += line.ToLower()
        End If
    Next

End Sub

Public Shared Function extractNumberFromString(ByVal value As String) As Integer
    Dim returnVal As String = String.Empty
    Dim collection As System.Text.RegularExpressions.MatchCollection = System.Text.RegularExpressions.Regex.Matches(value, "\d+")

    For Each m As System.Text.RegularExpressions.Match In collection
        returnVal += m.ToString()
    Next

    Return Convert.ToInt32(returnVal)
End Function

输出:
onlynumbers = "12"
onlycharacters = "js"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM