Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从字符串中提取未知名称_Java_String_Extract - Fatal编程技术网

Java 如何从字符串中提取未知名称

Java 如何从字符串中提取未知名称,java,string,extract,Java,String,Extract,我正在尝试制作一个Minecraft服务器控制面板,我想得到所有在线玩家的列表,每个用户名都有自己的字符串。获取用户的方式是键入/list,它返回一个字符串。返回的字符串如下所示: [HH:MM:SS]信息:username1、username2、username3和username4 那么,如何将每个用户名提取到它自己的字符串中呢?我已经在谷歌上搜索了这个问题,看起来像是类似的问题,但我找不到有用的答案。我想到了string.replaceAll();但我似乎无法让它发挥作用 有什么建议吗?尝

我正在尝试制作一个Minecraft服务器控制面板,我想得到所有在线玩家的列表,每个用户名都有自己的字符串。获取用户的方式是键入/list,它返回一个字符串。返回的字符串如下所示:

[HH:MM:SS]信息:username1、username2、username3和username4

那么,如何将每个用户名提取到它自己的字符串中呢?我已经在谷歌上搜索了这个问题,看起来像是类似的问题,但我找不到有用的答案。我想到了string.replaceAll();但我似乎无法让它发挥作用

有什么建议吗?

尝试使用

String.split(“,”)

这将把字符串拆分为一个数组

以下是如何>

String[]data=usernames.split(“,”)


在此之后,您必须从名字中删除日期和时间。

上一个答案以及一些技术细节:

String[] usernames = String.split(",");
要提取第一个用户名,您必须执行如下操作:

String username1 = usernames[0].split("INFO:")[1]; // not sure if you need ":" or "\:", so check it out...
这是因为
用户名[0]=“[HH:MM:SS]INFO:username1”
,您希望将其拆分为显示在“INFO:”之前的子字符串和显示在“INFO:”之后的子字符串

为了提取剩余的用户名,只需迭代索引1中的
用户名
数组。

例如:

for (int i=1; i<usernames.length; i++)
    System.out.println(usernames[i]);

for(inti=1;i补充了卢西恩的话:

String [] data = s.split(", ");
data[0]=data[0].replaceAll("[HH:MM:SS] INFO: ", "");

应该用nothing(“”)替换该字符串不需要的开头;

是的,但是,我该如何在这个问题中实现它呢?例如,让我们假设我的问题中的字符串是
s
。我将使用s.split(“”),”;要获得用户名列表,它们将从s[2]开始好的,很酷。我放学回家后会试试这个,如果它有效的话,你会得到+1并回答:)拆分上的
[1]
是为了什么?除了
[HH:MM:SS]
实际上不是,这是一个实际时间。。。那还能用吗?哦,那么你需要
data[0]=data[0].replaceAll(\[([0-9]){2}\:([0-9]){2}\:([0-9]){2}\]INFO\:“,”试试看。
String [] data = s.split(", ");
data[0]=data[0].replaceAll("[HH:MM:SS] INFO: ", "");