【问题标题】:String split two delimiters字符串拆分两个分隔符
【发布时间】:2018-01-06 04:11:30
【问题描述】:

我实际上正在制作一个应用程序,其中我有一个文本区域,用户可以在其中用我的小“语言”写,没什么难的,用户可以写以下几行:

game:

i>5;

i<8;

player:

name=Player 1;

所以我将它连接起来,小写它,这给了我以下字符串:"game:i>5;i<8;player:name=player1;"

这里必须给我两个 Request 对象,

new Request("game", "i>5;i<8")

new Request("player", "name=player1");

下面是一个例子

String string = "ygu:tezr;tt;:zertrtrr.etrvz1;tzej:j;ii;,k;i,:kik,;:k:,;ab:";
String part1, part2;
ArrayList<Request> list = new ArrayList<Request>();
/*while(?){
    part1 = ?
    part2 = ?
    list.add(new Request(part1, part2));
}*/

提前致谢! :D

【问题讨论】:

  • “或”是什么意思?你想同时使用它们(“:”和“;”)来分割你的字符串,还是其中一个是根分割,就像第一次使用“;”分割一样然后每个子字符串使用“:”,反之亦然?
  • 你想用:分割,然后每个都用;分割成对吗?
  • 其实我很难把ti解释清楚,这可能是我不能自己做的原因,但我会尽力用一些句子来解释
  • 在您需要的代码中添加一个用于分隔两个请求对象的字符。然后就容易多了。

标签: java split


【解决方案1】:

如果这是您上面提到的标准格式,那么您可以使用以下代码获取数据 -

String s = "game:i>5;i<8;player:name=player1;";
String[] requests = s.split(";");

System.out.println(requests[0].split(":")[0]+"  "+requests[0].split(":")[1]+";"+requests[1]);
System.out.println(requests[2].split(":")[0]+"  "+requests[2].split(":")[1]);

这只是为了让您了解如何断开字符串。

这是我在运行上述代码时得到的输出 -

输出

game  i>5;i<8                                                                                                                                          
player  name=player1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多