【发布时间】:2014-02-05 18:34:08
【问题描述】:
我的 gui 中有一个 Jtable 表和一个返回如下字符串的 java 方法:name1#surname1#job1$name2#surname2#job2 等。我不知道字符串的确切长度,因为它是根据我的数据库中有多少人创建的。我想拆分这个字符串并将其添加到 JTable 中,每个值都在正确的类别下!但我无法做到这一点。
这是我的 JTable 的代码:
table = new JTable();
table.setRowSelectionAllowed(false);
table.setModel(new DefaultTableModel(new Object[][] {
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null},
}, new String[] {
"Name", "Surname", "Job"}) {
Class[] columnTypes = new Class[] { String.class, String.class,
String.class};
public Class getColumnClass(int columnIndex) {
return columnTypes[columnIndex];
}
【问题讨论】:
-
很遗憾,您不能使用 $ 字符进行拆分。 Pattern 类中有一些字符是不允许拆分的。
-
好吧,这是一个小问题,因为我可以将此字符更改为 #(again) 或空格!问题是如何拆分字符串并在右列中添加正确的值
-
'$' 是正则表达式中的一个特殊字符,用于检查行尾是否跟在后面。如果要使用此字符拆分字符串,则必须使用字符串 "\\$" 对其进行转义,如 peeskillet 示例中所示。这适用于所有特殊字符。 (IE。 '。')。要记住的关键是
String.split()接受一个用作正则表达式而不是字符串文字的字符串参数。