在Java中拆分字符串并附加到列表
用例:我试图提取括号内的参数并将其填充到jList中 输入:在Java中拆分字符串并附加到列表,java,jlist,Java,Jlist,用例:我试图提取括号内的参数并将其填充到jList中 输入: title(a1, a3) 代码: static ArrayList variableList=new ArrayList(); Matcher m=Pattern.compile(“\\([^)]+)\\)”.Matcher(result.toString().trim()); while(m.find()) { 如果(!variableList.contains(m.group(1.trim())) { variableLi
title(a1, a3)
代码:
static ArrayList variableList=new ArrayList();
Matcher m=Pattern.compile(“\\([^)]+)\\)”.Matcher(result.toString().trim());
while(m.find())
{
如果(!variableList.contains(m.group(1.trim()))
{
variableList.add(m.group(1.trim());
}
}
DefaultListModel lista1=新的DefaultListModel();
对于(int i=0;i而言,问题不在JList中,而是在matcher逻辑中
如果您总是知道您的“类型”将在括号内,那么您可以执行以下操作
// Declare lists
DefaultListModel<String> lista1 = new DefaultListModel<String>();
ArrayList<String> variableList = new ArrayList<String>();
JList<String> jList = new JList<String>();
String result = "type(t1, t2)";
// Get string within parenthesis
result = result.substring(result.indexOf('(') + 1, result.indexOf(')'));
// Split into elements
String[] types = result.split(",");
// For each, add to list if not duplicate
for (int i = 0; i < types.length; i++)
{
String type = types[i].trim();
if (!variableList.contains(type))
{
variableList.add(type);
lista1.addElement(type);
}
}
jList.setModel(lista1);
// Add to frame/revalidate/repaint as needed
//声明列表
DefaultListModel lista1=新的DefaultListModel();
ArrayList variableList=新的ArrayList();
JList JList=新JList();
String result=“type(t1,t2)”;
//获取括号内的字符串
result=result.substring(result.indexOf('('))+1,result.indexOf('));
//分解成元素
String[]types=result.split(“,”);
//对于每个,如果不重复,则添加到列表中
for(int i=0;i
另外,参数化您的JList和DefaultListModel。请参见然后是否在某个地方打印此文件?显示列表的代码在哪里?
// Declare lists
DefaultListModel<String> lista1 = new DefaultListModel<String>();
ArrayList<String> variableList = new ArrayList<String>();
JList<String> jList = new JList<String>();
String result = "type(t1, t2)";
// Get string within parenthesis
result = result.substring(result.indexOf('(') + 1, result.indexOf(')'));
// Split into elements
String[] types = result.split(",");
// For each, add to list if not duplicate
for (int i = 0; i < types.length; i++)
{
String type = types[i].trim();
if (!variableList.contains(type))
{
variableList.add(type);
lista1.addElement(type);
}
}
jList.setModel(lista1);
// Add to frame/revalidate/repaint as needed