gpt4 book ai didi

Java Netbeans : Splitting a string using regular expressions

转载 作者:行者123 更新时间:2023-12-01 10:15:00 25 4
gpt4 key购买 nike

先生们,

我正在 Java Netbeans 工作。我正在尝试使用正则表达式将字符串拆分为字符串数组。本质上,如果用户输入:

Hello World <5>你好吗 谷歌!

进入 jTextArea,我希望将上面的字符串输入到名为 arrayOfStringsToProcess 的数组中以便进一步加工。在序列末尾,arrayOfStringsToProcess 的值应该是:

{"Hello World", "5" , "How are you", "yahoo", "google!"} 

我不在乎其中是否有换行符。

当我尝试(在 netbeans 中)时:

String inputFromTextField = "";
String regularExpressionToSplit = "<>";
String[] arrayOfStringsToProcess;
inputFromTextArea = jTextArea23.getText();
arrayOfStringsToProcess = inputFromTextArea.split(regularExpressionToSplit);

代码编译并执行,但整个字符串是从 jTextArea23 获取的。被加载到arrayOfStringsToProcess的第0个元素中就好像从未发生过 split 一样。

据我所知,上面的代码在 netbeans 之外可以很好地完成工作,但 netbeans 根本不想根据正则表达式拆分字符串。

最后,当我将“正则表达式”减​​少为单个分隔字符时,例如 "<" netbeans 将以这种方式分割字符串:

{"Hello World", "5> How are you", "yahoo> google!"}

显然,这段代码可以编译并执行,但不会产生我想要的输出。

有没有一种方法可以在 Java netbeans 中做到这一点,而无需诉诸诸如计算 < 的数量之类的废话。和>放在字符串中,然后一次将字符串分开?我无法提前知道用户将在 jTextArea23 中输入多少个字符。

我确信这个确切的问题已经在某个地方被问过并且答案就在那里。我只是真的不知道在搜索中使用哪些关键字。任何帮助将不胜感激,

布伦特原油。

最佳答案

您需要使用的模式需要说:我想在 > 处分割或< 。这表示为 regular expression|特点。所以你可以使用模式 <|> 。请注意,如果您还想围绕空格进行拆分,则可以添加 \\s*匹配零个或多个空格。

public static void main(String[] args) {
String str = "Hello World <5> How are you < yahoo > google!";
String[] tokens = str.split("\\s*<\\s*|\\s*>\\s*");
System.out.println(Arrays.toString(tokens)); // prints "[Hello World, 5, How are you, yahoo, google!]"
}

关于Java Netbeans : Splitting a string using regular expressions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35952039/

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