我想把 ["内容","标题"] 一个字符串 变成 内容 标题两个字符串 可以通过什么方法完成 我想过用字符串切割 但是感觉太麻烦
package Action;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class demo {
public static void main(String[] args) {
String str = " [\"内容\",\"标题\"] ";
Pattern p = Pattern.compile("\"(.*?)\"");
Matcher m=p.matcher(str);
while(m.find()){
System.out.println(m.group());
}
}
}
自己动手写可以加深记忆啊,或者你自己写一个工具类来处理类似的字符串切割,也不是特别麻烦。而且不同的字符串类别,可以定义不同的函数来进行字符串切割
public class StringUtils {
final int length;
final String content;
final String[] multiContent;
public StringUtils () {
}
public StringUtils(String content) {
if(content == null) {
throw new IllegalArgumentException("The given argument [ content ] cannot be null");
}
this.content = content;
this.length = content.length();
}
String[] stringAxer(String str) {
if(length == 0) {
return new String[0];
}
str = str.replace("[", "").replace("]", "").replace("\''", "");
return str.split(",");
}
}
// 纯手写代码,没有借助任何IDE
你这字符串就是一个JSON数组格式,直接用JSON工具转换就好了(代码如下)。如果是必须要用截取的形式的话,那就只能按照楼上的方式截取了。
String s = "[\"内容\",\"标题\"]";
JSONArray jsonArray = JSON.parseArray(s);
Object[] objects = jsonArray.toArray();
//for (Object str : objects) {
// TODO 在这里处理数据
// System.out.println("str = " + str);
//}
// 内容
Object object0 = objects[0];
// 标题
Object object1 = objects[1];