Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Visual Basic:如何从用户输入的字符串中删除括号?_Vb.net - Fatal编程技术网

Vb.net Visual Basic:如何从用户输入的字符串中删除括号?

Vb.net Visual Basic:如何从用户输入的字符串中删除括号?,vb.net,Vb.net,样本: 字符串:George(Babe)Ruth (计算)-输出: George Ruth 如何在VB中实现这一点?您可以使用正则表达式来实现这一点 ResultString = Regex.Replace(SubjectString, "\\(.+\\)", ""); 它应该像你的标签是VB.net一样工作。如果不是,上面的正则表达式也可以工作 Dim s2,s,d,g as string s2 = "George (Babe) Ruth " s = InStr(1, s2, "

样本:

字符串:
George(Babe)Ruth

(计算)-输出:

George Ruth

如何在VB中实现这一点?

您可以使用正则表达式来实现这一点

ResultString = Regex.Replace(SubjectString, "\\(.+\\)", "");

它应该像你的标签是VB.net一样工作。如果不是,上面的正则表达式也可以工作

 Dim s2,s,d,g as string 
 s2 = "George (Babe) Ruth "
 s = InStr(1, s2, " (")
 d = InStr(1, s2, ") ")
 g = s2.Remove(s, d + 1 - s)

借助用户2526236的答案

在VB.net中使用此函数-使用参数传递字符串

Private Function RemoveChunk(psString As String) As String
        Dim iStart As Integer
        Dim iStop As Integer
        Dim sModifiedString As String

        iStart = InStr(psString, "(")
        iStop = InStr(psString, ")")

        If iStart > 0 And iStop > 0 Then
            sModifiedString = psString.Remove(iStart - 1, iStop + 1 - iStart)
        Else
            'nothing to modify
            sModifiedString = psString
        End If
        Return sModifiedString
    End Function

MyString.Replace(“Babe”),看看
string.Replace
函数和
string.IndexOf
是否也要删除parantises中的文本?精确是一件美妙的事情如果用户字符串是“George(Babe Ruth)”,你会怎么做标题上说他想删除paren,但示例显示他也想替换其中的文本:
George(Babe)Ruth
==>
George Ruth
这意味着吃了一个空格是的,这是真的。我还需要删除括号内的内容。@bert更新了答案。这将删除任何介于两个匹配论题之间的内容