3

我有一个TextArea输入分隔值:

例如:

价值1

价值2

价值3

价值4

价值5

有没有一种快速的方法将它们放入String数组中

String[] newStringArray = ???
4

2 回答 2

7

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

String[] values = textArea.getText().split("\n");
于 2010-06-02T09:53:42.463 回答
5

你想使用String.split(String regex)

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

所以,也许是这样的:

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

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

[...] 当文档在内存中时,该"\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>
于 2010-06-02T09:51:50.630 回答