从字符串中删除数字和符号

时间:2015-09-24 09:49:13

标签: vb.net

我可以收到类似下面的文件:

something.csv
something
something(3)
something(140).csv

因此,如果最后的文件包含anything(somenumber)

并取决于包含或不包含扩展名anything(somenumber).extension

的文件

我希望从字符串中删除(somenumber)。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

选项1:

string test="something(3)";
    test=Regex.Replace(test, @"\d", "").Replace("()","");

选项2:

string test="something(3)";
int startindex=test.IndexOf("("); 
if (startindex>0) 
 test=test.substring(0,startindex-1); 

答案 1 :(得分:0)

  Dim str As String = "something(140).csv"
  Dim newstr As String
  Dim idx1, idx2 As Integer
  idx1 = str.IndexOf("(")
  idx2 = str.IndexOf(")") + 1
  newstr = str.Replace(str.Substring(ixd1, (idx2 - ixd1)), "")

或者您可以创建如下所示的功能

 Private Function RemoveStringWithin(ByVal str As String, _
                                        ByVal start_char As String, _
                                        ByVal end_char As String) As String
        Dim idx1, idx2 As Integer
        idx1 = str.IndexOf(start_char)
        idx2 = str.IndexOf(end_char) + 1
        RemoveStringWithin = str.Replace(str.Substring(idx1, (idx2 - idx1)), "")
        Return RemoveStringWithin
    End Function

用法:

 Dim str As String = "something(140).csv"
 Dim str1 As String = "something<another_noise%.csv"

 str = RemoveStringWithin(str, "(", ")")
 str1 = RemoveStringWithin(str1, "<", "%")
相关问题