将字符串拆分为单词和双精度

时间:2016-12-11 16:23:24

标签: java arrays regex split

我正在编写一个程序来读取如下所示的文件:

NODE:标签Buenous Aires:x = 131.3456:y = -48.783

我希望程序将每一行拆分成一个数组,其中包含标签的条目,然后是x值和y值。我已经研究过将s.split工具与正则表达式一起使用,但我不知道如何将我正在阅读的信息存储到程序中。

String[] words=s.split(" ");
"NODE: label=(.+):x=(\d+):y=(\d+)";

有人可以给我一些关于如何制作这样一个阵列的提示。 我正在寻找有3个条目的数组,第一个是标签Buenous Aires,第二个是x值,第三个是y值。

2 个答案:

答案 0 :(得分:0)

如果您对正则表达式不满意,可以改为

  1. 分裂冒号
  2. 循环遍历这些字符串(从位置1开始)
  3. 以等号分开
  4. 提取数据

答案 1 :(得分:0)

如果您想使用split()(这是一个好主意,因为它可以直接产生所需的字符串数组),则不必像{{1}那样指定字符串的整体模式},但仅是一个定界表达式,例如"NODE: label=(.+):x=(\d+):y=(\d+)"

  • :.=-结束上一个条目
  • :-匹配.x
  • y-取代下一个条目

=

String s = "NODE: label=Buenous Aires:x=131.3456:y=-48.783"; String[] words = s.substring(12).split(":.="); 跳过前导substring(12)