从字符串VB.net的开头删除3个特定字符

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")工作,但事实并非如此

Joe*_*nos 5

if str.StartsWith("sam")
    str = str.Substring(3)
end if
Run Code Online (Sandbox Code Playgroud)

不是单行,但易于遵循.