2013-06-18 224 views
1
string Example 1 : abc/
string Example 2 : abc/cdf// 
string Example 3 : abc//// 
string Example 4 ://///
string Example 5 : abc// xyz/// 

我需要在許多場景中刪除字符串中的斜槓。我猜這些情景在下面的預期結果中是不言自明的。如何使用vb.net刪除字符串中的字符?

結果:

string Example 1 : abc 
    string Example 2 : abc/cdf 
    string Example 3 : abc 
    string Example 4 : 
    string Example 5 : abc/xyz 

我如何做到這一點USNG vb.net?請幫助..

+2

那白色空間呢? –

+1

猜測你想刪除斜槓,除非他們分開其他字符。如果固定點是分隔符,則只留下一個,即「a/b// c」 - >「a/b/c」。你有沒有編寫任何代碼? – HABO

+0

@HABO你是對的。我錯過了這一點。更新了問題。 – Anuya

回答

6

試試這個:

Dim s As String '= ... 
Dim aux() As String 

aux = s.Split(New Char() {"/"c}, StringSplitOptions.RemoveEmptyEntries) 
s = String.Join("/", aux) 

您可能要處理的白色空間:

aux = s.Split("/ ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) 
s = String.Join("/", aux) 
+2

這不會導致帶有額外空白空間的字符串?在加入它們之前,可能需要'.Trim()'數組中的字符串。 –

2
Function RemoveTrailingSlash(ByVal s as String) As String 
    'Note that space is included in this array 
    Dim slash() As Char = "/ ".ToCharArray() 
    s = s.TrimEnd() 
    While s.EndsWith("/") 
     s = s.TrimEnd(slash) 
    End While 
    Return s 
End Function 

直接鍵入回覆窗口(未測試!),但我認爲它會工作。

+2

這適用於原始示例1 - 4,但不適用於新添加的示例5. –

1

你可以使用Rexexp表達。波紋管應工作:

"(/\s+)+$" 

它搜索:

  1. '/'
  2. 接着是一個或多個白色字符:\ S +
  3. 多次 - 表達:(/ \ S + )+
  4. 在字符串末尾($)