- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个方法,它不会正确地将分割字符串添加到我的列表中。
public static List<String> formatConfigMessages(FileConfiguration config, String key, boolean colour, Object... regex) {
List<String> messages = new ArrayList<>();
if (config.isList(key)) {
config.getStringList(key).forEach(message -> {
if (message.contains("\\n")) {
Collections.addAll(messages, message.split("\\r\\n|\\n|\\r"));
} else {
messages.add(message);
}
});
} else {
String message = config.getString(key);
if (message.contains("\\n")) {
Collections.addAll(messages, message.split("\\r\\n|\\n|\\r"));
} else {
messages.add(message);
}
}
return messages.stream().map(message -> formatMessage(message, colour, regex)).collect(Collectors.toList());
}
对于一些上下文,此方法用于格式化我的 SpigotMC 的可配置消息。插入。该方法有 4 个参数:
那是行不通的代码块。最初,我尝试将正则表达式设置为 \n
,但没有返回列表。我认为这是因为它正在搜索已经解析的新行而不是 '\n' 字符流。所以我将正则表达式更改为\n,但这仍然不起作用。我在网上搜索并发现this post我应该使用正则表达式 \\r\\n
以及 \\n
因为 \r
在 Windows 系统上使用。这又不起作用,我不断得到 1 个字符串,其中\n 仍在里面。
最佳答案
原因如下。
Regex 有自己的转义序列,用 \\
表示(\
的转义序列),因为 Java 保留 \
。
例如,\\w
表示单词中的任何字符。
要按“\n”分割,您需要 \\\\n
来代替,因为正则表达式中的 \\n
代表实际的换行符,就像\n
代表 Java 中的 1。
示例:
System.out.println(Arrays.toString("Hello\\nworld".split("\\\\n")));
System.out.println(Arrays.toString("Hello world\nwith newline".split("\\n")));
System.out.println(Arrays.toString("Hello world\nwith newline".split("\n")));
System.out.println(Arrays.toString("I won't\\nsplit".split("\\n")));
打印:
[Hello, world]
[Hello world, with newline]
[Hello world, with newline] <-- Same effect as above
[I won't\nsplit]
Additionally, to handle all three line end types (尽管 \r
本身现在并不常见),请改用正则表达式 \\\\r?\\\\n|\\\\r
。
关于java - 似乎无法通过换行正则表达式分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43413392/
在 Vaadin 7.0,显示时JavaBean Table 中的数据与 BeanContainer ,用新数据刷新表的正确方法是什么? 最佳答案 该表通过监听器监视表项的属性。如果您通过表的 Ite
首先,我使用的是带有 Axis2 1.6.2 的 eclipse,我正在 tomcat 6 上部署我创建的 Web 服务。Web 服务是在 eclipse 中通过自上而下的方法创建的。 我被要求使对我
我已将 Rails 3.1.1 应用程序升级到 Rails 3.1.3,现在,对于每个请求,它仅响应错误数量的参数(3 for 1)。不幸的是,它没有说明错误在哪里,并且应用程序跟踪为空。我认为存在一
我是一名优秀的程序员,十分优秀!