【问题标题】:How to split a sentence into two separate arrays如何将一个句子分成两个单独的数组
【发布时间】:2010-12-22 07:17:48
【问题描述】:
String input0 = "G1 and G2 are the founders of Microsoft.";
String input1 = "The swimming medals were won by G1 and G2";

我想解析上面的字符串并创建2个单独的数组(注意:G1、G2、G3、...是用户输入的占位符,想单独获取它们)

e.g. for input0 the following arrays should be created array0 [G1, G2] and array1 [" and ", " is the founder of Microsoft."]
e.g for input1 the following arrays should be created array0 [G1, G2] and array1 ["The swimming medals were won by ", " and "]

我尝试过使用indexOf 函数和split,但到目前为止还不能正常工作。

【问题讨论】:

  • 无论您如何表示数据,正则表达式都是获取 g1 和 g2 的最简单方法。
  • 很想知道这个的真正用例是什么!
  • @Pangea 我正在寻找用户在标有关键字 G1、G2、... 的位置提供输入,以便我可以在用户界面中使用输入文本框显示此内容。我的目的是找出需要多少动态输入,并在渲染这些文本框之前或之后添加字符串的其余部分。

标签: java


【解决方案1】:

看看.split 方法。您也可以传入正则表达式。所以基本上,我假设你事先知道 G1 和 G2 的值。所以,你做这样的事情:.split("G1|G2"),用你的字符串替换 G1 和 G2。然后,您可以使用indexOf 方法填充第一个数组。所以你创建了一个 ArrayList,使用 indexOf 方法查找 G1 和 G2,如果它们存在,你将它们添加到数组列表中。然后使用 .split 方法填充第二个数组。

【讨论】:

    【解决方案2】:

    这样使用 split 会分离第二个数组

    字符串[] 结果 = input0.split("G[0-9]");

    要获取 G1、G2、G3 值,您可以使用 indexOf() 函数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多