我在C#中有代码
string fileNameOnly = Path.GetFileNameWithoutExtension(sKey);
string token = fileNameOnly.Remove(fileNameOnly.LastIndexOf('_'));
string number = new string(token.SkipWhile(Char.IsLetter).ToArray());
我希望它在VB中
Dim fileNameOnly As String = Path.GetFileNameWithoutExtension(sKey)
Dim token As String = fileNameOnly.Remove(fileNameOnly.LastIndexOf("_"c))
Dim number As New String(token.SkipWhile([Char].IsLetter).ToArray())
我试过了,但没有用!是否有类似的东西使用。
它的作用是查看文件名,只使用它的数字部分,并在_
后跳过所有字母和全部字母。
答案 0 :(得分:1)
你必须在VB.NET中使用AddressOf
:
Dim number As New String(token.SkipWhile(AddressOf Char.IsLetter).ToArray())
您也可以使用Function
:
Dim number As New String(token.SkipWhile(Function(c)Char.IsLetter(c)).ToArray())
在VB.NET中,我经常使用多行并结合查询+方法语法来避免ugly Function
/AddressOf
keywords。
Dim numberChars = From c In token
Skip While Char.IsLetter(c)
Dim numbers = New String(numberChars.ToArray())