我正在寻找一种合适且健壮的方法来查找和替换独立于任何OS平台的所有newline
或breakline
char 。String``\n
这是我尝试过的,但效果并不理想。
public static String replaceNewLineChar(String str) {
try {
if (!str.isEmpty()) {
return str.replaceAll("\n\r", "\\n")
.replaceAll("\n", "\\n")
.replaceAll(System.lineSeparator(), "\\n");
}
return str;
} catch (Exception e) {
// Log this exception
return str;
}
}
例:
输入字符串:
This is a String
and all newline chars
should be replaced in this example.
预期的输出字符串:
This is a String\nand all newline chars\nshould be replaced in this example.
但是,它返回了相同的输入String。像这样放置\
n并再次将其解释为换行符。请注意,如果您想知道为什么有人要\n
在那里,这是用户的特殊要求,需要将String放在XML后缀中。
如果您想使用文字,\n
则应执行以下操作:
String repl = str.replaceAll("(\\r|\\n|\\r\\n)+", "\\\\n")
这应该只得到数字和返回,但不做它作为预期的!有什么建议吗?
问题内容: 如何替换字符串(字符串以上)中的所有字符,应该看起来像? 问题答案: 一种无需正则表达式的简单方法: https://play.golang.org/p/B3c9Ket9fp 您最初可能会想些什么: https://play.golang.org/p/nbNNFJApPp
问题内容: 我有一个字符串,我想用一个星号替换任何不是标准字符或数字的字符,例如(az或0-9)。例如,“ h ^&ell`。,| ow] {+ orld”被替换为“ h * ell * o * w * orld”。请注意,多个字符(例如“ ^&”)将替换为一个星号。我将如何去做呢? 问题答案: 正则表达式可以解救! 例:
问题内容: 我尝试使用此功能,但没有成功- 问题答案: 使用。 注意:删除了空格,因为通常不将其视为字母数字。
问题内容: 我正在尝试查找“ |”的所有出现 在一个字符串中。 但我得到一个错误: 问题答案: 功能: 将返回的索引列表中的出现。
问题内容: 我试图遍历一个字符数组,并将字符串中的该字符替换为另一个数组中的并行字符。 这是我得到的例子: 它总是输出相同的字符串,没有替换。 我也尝试使用: 和replaceAll方法。 有什么建议? 问题答案: 字符串在Java中是不可变的。不会 更改 您调用它的字符串-它会 返回 更改后的新字符串。所以你要: (对于要在其上“显示”更改的 所有 方法,这都是不变的,因此也是如此。)