以下是在java中拆分字符串的不同情況。你可以使用一個適合你的應用程序。
情況1:這是用字符「」分割字符串的代碼。 :「」
String imageName = "picture1.jpg";
String [] imageNameArray = imageName.split("\\.");
for(int i =0; i< imageNameArray.length ; i++)
{
system.out.println(imageNameArray[i]);
}
而如果錯誤地有前後左右空間在這種情況下?這也是考慮這些空間的最佳實踐。
String imageName = "picture1 . jpg";
String [] imageNameArray = imageName.split("\\s*.\\s*");
for(int i =0; i< imageNameArray.length ; i++)
{
system.out.println(imageNameArray[i]);
}
這裏,\\ S *是有考慮的空間,讓你只需要分裂字符串。
現在,假設你已經像兩個特殊的字符之間放置參數:在像*放慢參數#時間#參數#或參數或者甚至是兩個不同的充跡象。我們可以通過這個代碼有那些症狀之間的所有這些參數的清單:
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang.StringUtils;
public class Splitter {
public static void main(String[] args) {
String pattern1 = "#";
String pattern2 = "#";
String text = "(#n1_1#/#n2_2#)*2/#n1_1#*34/#n4_4#";
Pattern p = Pattern.compile(Pattern.quote(pattern1) + "(.*?)" + Pattern.quote(pattern2));
Matcher m = p.matcher(text);
while (m.find()) {
ArrayList parameters = new ArrayList<>();
parameters.add(m.group(1));
System.out.println(parameters);
ArrayList result = new ArrayList<>();
result.add(parameters);
// System.out.println(result.size());
}
}
}
在這裏列出的結果將有參數N1_1,N2_2,n4_4。
'split'接受正則表達式。所以一定要逃避特殊字符。閱讀javadoc。 –
試試這個'.split(「\\ *」)' – Rugal
請考慮參考String.split –