以下是在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 –