Java:IndexOf(String string)表示returns错误的字符
Java: IndexOf(String string) that returns wrong character
我正在编写一个文件浏览器程序,当用户在 folders/files.
之间导航时显示文件目录路径
我有以下字符串作为文件路径:
"Files > Cold Storage > C > Capital"
我正在使用 Java indexOf(String)
方法 return > C >
之间 'C'
字符的索引,但它 return它第一次出现在这个词 Cold
.
我需要单独获取设置在 > C >
之间的 'C'
。
这是我的代码:
StringBuilder mDirectoryPath = new StringBuilder("Files > Cold Storage > C > Capital");
String mTreeLevel = "C";
int i = mDirectoryPath.indexOf(mTreeLevel);
if (i != -1) {
mDirectoryPath.delete(i, i + mTreeLevel.length());
}
我需要适合其他适当问题的灵活解决方案
感谢您的帮助!
搜索第一次出现的“C”:
String mTreeLevel = " C ";
int i = mDirectoryPath.indexOf(mTreeLevel);
然后account加1得到'C'
的索引(假设找到了你搜索的String)
如果您只想删除单个 'C' 字符:
if (i >= 0) {
mDirectoryPath.delete(i + 1, i + 2);
}
编辑:
如果搜索 " C "
可能仍然 return 出现错误,请改为搜索 " > C > "
。
更好的方法是使用 List
个 String
。
public void test() {
List<String> directoryPath = Arrays.asList("Files", "Cold Storage", "C", "Capital");
int cDepth = directoryPath.indexOf("C");
System.out.println("cDepth = " + cDepth);
}
我正在编写一个文件浏览器程序,当用户在 folders/files.
之间导航时显示文件目录路径我有以下字符串作为文件路径:
"Files > Cold Storage > C > Capital"
我正在使用 Java indexOf(String)
方法 return > C >
之间 'C'
字符的索引,但它 return它第一次出现在这个词 Cold
.
我需要单独获取设置在 > C >
之间的 'C'
。
这是我的代码:
StringBuilder mDirectoryPath = new StringBuilder("Files > Cold Storage > C > Capital");
String mTreeLevel = "C";
int i = mDirectoryPath.indexOf(mTreeLevel);
if (i != -1) {
mDirectoryPath.delete(i, i + mTreeLevel.length());
}
我需要适合其他适当问题的灵活解决方案 感谢您的帮助!
搜索第一次出现的“C”:
String mTreeLevel = " C ";
int i = mDirectoryPath.indexOf(mTreeLevel);
然后account加1得到'C'
的索引(假设找到了你搜索的String)
如果您只想删除单个 'C' 字符:
if (i >= 0) {
mDirectoryPath.delete(i + 1, i + 2);
}
编辑:
如果搜索 " C "
可能仍然 return 出现错误,请改为搜索 " > C > "
。
更好的方法是使用 List
个 String
。
public void test() {
List<String> directoryPath = Arrays.asList("Files", "Cold Storage", "C", "Capital");
int cDepth = directoryPath.indexOf("C");
System.out.println("cDepth = " + cDepth);
}