- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经搜索了一个多小时,但我终究还是想不出如何搜索从右边开始的字符串变量。我想要做的是获取路径的最后一个文件夹(就在文件名之前),在 VB6 中我会这样做:
Dim s As String
s = "C:\Windows\System32\Foo\Bar\"
Debug.Print Mid(s, InStrRev(Left(s, Len(s) - 1), "\") + 1)
到目前为止,这是我尝试过的:
string s = "C:\\Windows\System32\\Foo\\Bar\\";
s = agencyName.Substring(s.LastIndexOf("\\") + 1)
最佳答案
使用 strToSearch.LastIndexOf(strToFind);
。
编辑:我看到您更新了您的问题,说您已经尝试过LastIndexOf()
。这个方法很管用,我用过很多次。
你说你想得到文件名开始的位置。但是,您的示例路径不包含文件名。 (因为它以 \
结尾,这表明它是一个目录名称。)
正如其他地方所建议的,如果您真的不想要最后一个 \
,那么您需要指定起始索引以告诉 LastIndexOf()
跳过您不想要的尾部反斜杠。
关于C# 相当于 InStrRev,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5521518/
我已经搜索了一个多小时,但我终究还是想不出如何搜索从右边开始的字符串变量。我想要做的是获取路径的最后一个文件夹(就在文件名之前),在 VB6 中我会这样做: Dim s As String s = "
InStrRev 函数 返回某字符串在另一个字符串中出现的从结尾计起的位置。 InStrRev(string1, string2[, start[, compare]]) 参数 string
我不明白以下任何一项的结果。我知道 InStrRev 给出了最后“匹配”的位置(从右到左),并且当我不给出起始位置时可以理解结果。无论开始是从左还是右开始,1 或 2 都应该给出 0 以外的值。 Pr
我一直在尝试从文件结构中查找扩展名,为此我很难使用 InstrRev(filename, ".") 但它不是返回 4,而是返回 30,与 Instr 的方式相同.. . 有人知道一个奇怪的错误会导致
有一个名为“InStrRev”的函数在 Access 中工作正常,但是当我使用同一函数以 C# Windows 窗体获取记录时,会弹出一条错误消息,提示 Unidentified function '
我是一名优秀的程序员,十分优秀!