Jam*_*oll 2 regex vb.net string replace trim
我有一种情况需要从字符串中删除前缀(如果存在).
Dim str As String = "samVariable"
Run Code Online (Sandbox Code Playgroud)
需要转换为 Variable
容易,有 TrimStart
str = str.trimstart("s"c, "a"c, "m"c)
Run Code Online (Sandbox Code Playgroud)
除了...
该字符串可能并不总是以"sam"开头
例:
Dim str As String = "saleDetails"
Run Code Online (Sandbox Code Playgroud)
这将成为现在 aleDetails
这是错的,那怎么样 Replace
str = str.Replace('sam','')
Run Code Online (Sandbox Code Playgroud)
辉煌!现在:
例1:
Dim str As String = "samVariable"
str = str.Replace('sam','')
str = "Variable"
Run Code Online (Sandbox Code Playgroud)
例2:
Dim str As String = "saleDetails"
str = str.Replace('sam','')
str = "saleDetails" (unaffected)
Run Code Online (Sandbox Code Playgroud)
但....
如果:
Dim str As String = "Resample"
str = str.Replace('sam','')
str = "Reple"
Run Code Online (Sandbox Code Playgroud)
这又错了!
所以,我的问题是:
如何仅从字符串的开头删除"sam"?
我曾期望TrimStart("sam")工作,但事实并非如此
if str.StartsWith("sam")
str = str.Substring(3)
end if
Run Code Online (Sandbox Code Playgroud)
不是单行,但易于遵循.