String fname="C:\textfiles\db\query\query.txt";
這是我需要拆分它的字符串。如何在反斜線中拆分java字符串
我試着用這個
String [] items=fname.split("\");
但不工作。
String [] items=fname.split("\\"); also not working...
如何拆分此字符串...
String fname="C:\textfiles\db\query\query.txt";
這是我需要拆分它的字符串。如何在反斜線中拆分java字符串
我試着用這個
String [] items=fname.split("\");
但不工作。
String [] items=fname.split("\\"); also not working...
如何拆分此字符串...
它的工作原理。
String fname="C:\\textfiles\\db\\query\\query.txt";
String split[] = fname.split("\\\\");
System.out.println(" :: value " + split[0]);
org.apache.commons.lang3.StringUtils.split(fname,「\\」)做這個工作 –
首先,你不能有一個字符串作爲你的問題發佈
String fname="C:\textfiles\db\query\query.txt";
這應該由
String fname="C:\\textfiles\\db\\query\\query.txt";
的反斜線被替換(「\」)需要一個逃生以及。
最後,你需要做這樣的事情分裂他們:
String fname="C:\\textfiles\\db\\query\\query.txt";
String[] items= fname.split("\\\\");
System.out.println(Arrays.toString(items));
希望這有助於。
它工作:)謝謝你 –
public static String[] splitPath (String path) {
String backslash = ((char)92) + "";
if (path.contains(backslash)) {
ArrayList<String> parts = new ArrayList<>();
int start = 0;
int end = 0;
for (int c : path.toCharArray()) {
if (c == 92) {
parts.add(path.substring(start, end));
start = end + 1;
}
end++;
}
parts.add(path.substring(start));
return parts.toArray(new String[parts.size()]);
}
return path.split("/");
}
一個有趣的方法來解決一個問題,這不是一個問題在這裏。 –
我認爲作者問他爲什麼使用String.Split函數不適用於分割算法實現。 –
這絕對是解決上述問題的方法(「如何拆分這個字符串......」)。那些說你不能有反斜槓字符串的答案是錯誤的。我的例子甚至展示瞭如何用反斜槓創建一個字符串。我遇到了Android上的問題,這是爲我解決分裂問題的快速解決方案。內置的string.split()函數會以奇怪的方式失敗(內部正則表達式異常) – Philipp
使用正則表達式來轉義字符。 「字符串」 .split( 「\ /」);
這不是問題的答案。你嘗試過自己運行嗎? –
**//single slash already used as space in java
// suppose it would be Object Type obj="C:\textfiles\db\query\query.txt";**
public static void main(String[] args) {
String target="\\";
String replacement="\\\\";
String str=(String) obj;
str=str.replace(target, replacement);
String[] strarray=str.split(replacement);
String filename=strarray[8];
System.out.println("file Name: "+filename);
}
'split'預計RegEx。 使用分割的最佳方法是使用「Pattern.quote」
String separator = "\\";
String value = "C:\\Main\\text.txt";
String[] arrValues = value.split(Pattern.quote(separator));
很好的答案。簡明扼要 – user2407334
Stop。在你嘗試別的之前打印出'fname'。您需要*在字符串文字中轉義反斜槓*。 –
因爲它是一個特殊字符,所以在引號中你必須轉義'「\」'。您必須在正則表達式中轉義'「\」',因爲它是一個特殊字符。結果是'「\\\\」'。 無論如何使用Path對象,您將獲得對windows和Posix風格路徑的支持。 – odedsh