我有一個PROGRAMM和標題說我想要分割字符串 我把刺從數據庫中,我不知道究竟包含了每一個字符串 例如串每3個字新線
String locat = "london BLANCHE CAFE ET COCKTAIL BAR"
我要輸出爲
第一行的「倫敦BLANCHE CAFE」和secont行「ET雞尾酒吧」
我有一個PROGRAMM和標題說我想要分割字符串 我把刺從數據庫中,我不知道究竟包含了每一個字符串 例如串每3個字新線
String locat = "london BLANCHE CAFE ET COCKTAIL BAR"
我要輸出爲
第一行的「倫敦BLANCHE CAFE」和secont行「ET雞尾酒吧」
非常簡單的解決方案使用正則表達式:
String newLocat = locat.replaceAll("((?:\\w+\\s){2}\\w+)(\\s)", "$1\n");
可以換行符添加到字符串"\n"
String locat = "london BLANCHE CAFE \nET COCKTAIL BAR"
是的,我知道,但如果字符串未知? – Kostaras
許多方法可以做到這一點。只是一個隨機的簡單邏輯
String locat = "london BLANCHE CAFE ET COCKTAIL BAR";
int count =0;
StringTokenizer s = new StringTokenizer(locat);
while (s.hasMoreTokens()) {
count++;
System.out.print(s.nextToken() + " ");
if(count%3==0)System.out.println();
}
你失去了單詞之間的空格。 – stevecross
沒問題..只要符合要求.. :) – user3505725
它不是。你的代碼給出了'londonBLANCHECAFE'和'ETCOCKTAILBAR',但是'london BLANCHE CAFE'和'ET COCKTAIL BAR'是預期的。 – stevecross
你可以做這樣的:
final String locat = "london BLANCHE CAFE ET COCKTAIL BAR";
final String[] words = locat.split(" ");
final StringBuilder newLocat = new StringBuilder();
for (int i = 0; i < words.length; i++) {
if ((i > 0) && (0 == (i % 3))) {
newLocat.append('\n');
}
newLocat.append(words[i]);
if (i != (words.length - 1)) {
newLocat.append(' ');
}
}
System.out.println(newLocat);
謝謝你這個工作 – Kostaras
我想成爲一個百萬富翁。但爲此我必須努力工作。同樣,你必須付出一些努力來獲得輸出。 – Batty
我建議使用Split(),StringBuilder()作爲一個簡單的方法。 – TheLostMind
也許我沒有解釋得很好,我需要什麼......字符串是一個例子,我有很多字符串,我把它們從數據庫我不知道什麼icludes每串我想要一個模式,每3字給新行 – Kostaras