这是在 Java 7 中
我不懂正则表达式,所以我想知道是否有人知道如何使用 split 方法从字符串中获取所有用户名:
{tchristofferson=10, mchristofferson=50}
然后将用户名添加到 String[] 数组?这些只是其中的两个用户名,但我希望它适用于无穷无尽的用户名。
用户名需要以下格式:
3-16个字符,无空格,A-Z大小写和0-9,唯一特殊字符为_(下划线)。
最佳答案
这看起来像 JSON,所以“正确”的答案可能是使用 JSON 解析器。如果这不是一个选项,您可以删除封闭的 {}
,根据 ", "
拆分字符串,然后根据 = 拆分每个字符串
签名,取第一项:
String input = "{tchristofferson=10, mchristofferson=50}";
List<String> users =
Arrays.stream(input.substring(1, input.length() - 1).split(", "))
.map(s -> s.split("=")[0])
.collect(Collectors.toList());
关于java - 在 Java 中拆分字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42460512/