gpt4 book ai didi

java - 使用 ResultSet SQLITE 替换 JLIST 元素中的拆分字符串

转载 作者:行者123 更新时间:2023-12-02 10:45:57 25 4
gpt4 key购买 nike

我有一个 JList 模型 (listModelGrid),其项目带有如下标签:

LastName, FirstName Spouse // e.g. This is 1st list item with labels
Children // e.g. This is 2nd list item with labels
Street // e.g. This is 3rd list item with labels
City, State Postal // e.g. This is 4th list item with labels

enter image description here

我想用 ResultSet.getString 方法替换标签,如下所示:

String labels = "";
labels += resultSet.getString("LastName")+", "+resultSet.getString("FirstName")+" "+
resultSet.getString("Spouse") + "\n";
labels += resultSet.getString("Children") + "\n";
labels += resultSet.getString("Street") + "\n";
labels += resultSet.getString("City")+", "+resultSet.getString("State")+" "+
resultSet.getString("Postal");

我已经尝试过,但陷入了循环:

private String getPrintingLabels(ResultSet rs) throws SQLException {
String str = "";
for (int i = 0; i < listModelGrid.getSize(); i++) {
String element = String.valueOf(listModelGrid.getElementAt(i));

String[] lbls = element.split(",\\s");

str += rs.getString(lbls[0])+", ";
for(int j = 1; j < lbls.length ; j++) {
// Stuck on her
}

String[] lbls2 = element.split("\\s");

str += rs.getString(lbls2[0])+" ";
for(int j = 1; j < lbls2.length ; j++) {
// Stuck on her
}
}
return str;
}

提前致谢!

最佳答案

您方法中的代码编写方式有点复杂。

我使用了正则表达式并简化了您想要编写的代码,这就是。

private String getPrintingLabels(ResultSet rs) throws SQLException {
Pattern p = Pattern.compile("([a-zA-Z]+)(,? )?");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < listModelGrid.getSize(); i++) {
String element = String.valueOf(listModelGrid.getElementAt(i));

Matcher m = p.matcher(element);
while(m.find()) {
sb.append(rs.getString(m.group(1)));
if (m.group(2) != null) {
sb.append(m.group(2));
}
}
sb.append(System.getProperty("line.separator")); // helps correctly insert a new line for any platform linux/windows/any
}
System.out.println(sb.toString());
return sb.toString();
}

我不知道您是否熟悉正则表达式,但是通过使用正则表达式,您的工作很容易完成。另外,使用字符串连接并不是一个好主意,特别是当您必须做很多事情时,因此我使用 StringBuild 来达到相同的目的。还使用了 line.separator 属性,因此无论您在哪个平台上运行代码,它都会在字符串中包含适当的行。只需使用我的方法而不是你的方法,看看所需的字符串是否是你想要的。

此外,在我的代码中,您不必手动管理插入“、”或“”,因为这是在字符串中自动完成的。

还要确保导入这两个或任何需要的导入,

import java.util.regex.Matcher;
import java.util.regex.Pattern;

关于java - 使用 ResultSet SQLITE 替换 JLIST 元素中的拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52575377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com