从输入分隔值获取数组

时间:2010-06-02 09:50:04

标签: java string arrays space

我有TextArea输入分隔值:

例如:

Value1

Value2

Value3

Value4

Value5

是否有快速方法将它们放入String数组

String[] newStringArray = ???

2 个答案:

答案 0 :(得分:6)

使用String.split()。如果您的TextArea名为textArea,请执行以下操作:

String[] values = textArea.getText().split("\n");

答案 1 :(得分:3)

您想使用String.split(String regex)

  

返回:通过在给定正则表达式的匹配项周围拆分此字符串计算的字符串数组

所以,也许是这样的:

String[] newStringArray = textAreaContent.split("\n");

这会将textAreaContent字符串拆分为"\n"的匹配项,这是Swing文本编辑器的规范化换行符(在javax.swing.text.DefaultEditorKit API中指定):

  

[...]当文档在内存中时,"\n"字符用于定义换行符,无论文档在磁盘上时如何定义换行符。因此,出于搜索目的,应始终使用"\n"

正则表达式总是可以根据您的特定需求进行计算(例如,您希望如何处理多个空行?)但是此方法可以满足您的需要。


实施例

    String[] parts = "xx;yyy;z".split(";");
    for (String part : parts) {
        System.out.println("<" + part + ">");   
    }

打印:

<xx>
<yyy>
<z>

这个忽略了多个空行:

    String[] lines = "\n\nLine1\n\n\nLine2\nLine3".trim().split("\n+");
    for (String line : lines) {
        System.out.println("<" + line + ">");           
    }

打印:

<Line1>
<Line2>
<Line3>