split() 方法根据匹配给定的正则表达式来拆分字符串。
注意: . 、 | 和 * 等转义字符,必须得加 \\。
注意:多个分隔符,可以用 | 作为连字符。
注意:转义字符加\\
特别重要:前几天做了一个分割字符串的方法,又有字符串中有"|",结果一直报错,用了转义字符好了,
没用的时候代码时这样的
public void myComment() {
User user = AuthUtils.getLoginUser();
List<CommodityEvaluate> myCommentList = commentService.findAllByUserId(user.getId());
if (myCommentList.size() > 0) {
for (CommodityEvaluate CommodityEvaluateList : myCommentList) {
String arrImage = CommodityEvaluateList.getImage();
if (!StrUtils.isBlank(arrImage)) {
arrImage = CommodityEvaluateList.getImage().replace("|", " ");
String[] arrImages = arrImage.split(" ");
List<String> list = new ArrayList<String>();
for (int i = 0; i < arrImages.length; i++) {
list.add(arrImages[i]);
}
CommodityEvaluateList.setListImage(list);
}
String addArrImage = CommodityEvaluateList.getAddCommentImage();
if (!StrUtils.isBlank(addArrImage)) {
addArrImage = CommodityEvaluateList.getAddCommentImage().replace("|", " ");
String[] addArrImages = addArrImage.split(" ");
List<String> listAdd = new ArrayList<String>();
for (int i = 0; i < addArrImages.length; i++) {
listAdd.add(addArrImages[i]);
}
CommodityEvaluateList.setAddListImage(listAdd);
}
}
setAttr("myCommentList", myCommentList);
} else {
setAttr("myCommentList", null);
}
render("myComments.html");
}
因为最开始不知道是转义字符的问题只好用了replace方法在分割,后来百度了一下了解到时转义字符的问题就改为了
public void myComment() {
User user = AuthUtils.getLoginUser();
List<CommodityEvaluate> myCommentList = commentService.findAllByUserId(user.getId());
if (myCommentList.size() > 0) {
for (CommodityEvaluate CommodityEvaluateList : myCommentList) {
String arrImage = CommodityEvaluateList.getImage();
if (!StrUtils.isBlank(arrImage)) {
String[] arrImages = arrImage.split("\\|");
List<String> list = new ArrayList<String>();
for (int i = 0; i < arrImages.length; i++) {
list.add(arrImages[i]);
}
CommodityEvaluateList.setListImage(list);
}
String addArrImage = CommodityEvaluateList.getAddCommentImage();
if (!StrUtils.isBlank(addArrImage)) {
String[] addArrImages = addArrImage.split("\\|");
List<String> listAdd = new ArrayList<String>();
for (int i = 0; i < addArrImages.length; i++) {
listAdd.add(addArrImages[i]);
}
CommodityEvaluateList.setAddListImage(listAdd);
}
}
setAttr("myCommentList", myCommentList);
} else {
setAttr("myCommentList", null);
}
render("myComments.html");
}
这是我在分割上犯的错,分享出来让大家看看避免在出这样的问题