如何从Java中的字符串中删除nul字符(\ 0)
Posted
技术标签:
【中文标题】如何从Java中的字符串中删除nul字符(\\ 0)【英文标题】:How to remove nul characters (\0) from string in Java如何从Java中的字符串中删除nul字符(\ 0) 【发布时间】:2016-04-08 04:59:02 【问题描述】:我了解 C# 中的这段代码试图从字符串中删除 nul
字符 (\0
)。
string.Join("", mText.Split(new string[] "\0" , StringSplitOptions.None));
有没有办法在 Java 中有效地做到这一点?
【问题讨论】:
ScaryWombat 该字符串是从智能卡中检索的。是否有可能包含null
?
不知道为什么这个问题被否决了。对其答案的赞成票清楚地表明这个问题非常相关。
【参考方案1】:
你可以写:
mText.replace("\0", "");
【讨论】:
【参考方案2】:在 Java 8+ 中,您可以使用 StringJoiner
和 lambda expression 之类的
String str = "abc\0def";
StringJoiner joiner = new StringJoiner("");
Stream.of(str.split("\0")).forEach(joiner::add);
System.out.println(str);
System.out.println(joiner);
输出是
abc
abcdef
【讨论】:
我们使用的是 android,所以这里没有 Java 8。 @SandahAung 他们升级到 Java 7 了吗? 他们有。他们还使用 OpenJDK 迁移到 Java 8 以及未来的 Android 版本。以上是关于如何从Java中的字符串中删除nul字符(\ 0)的主要内容,如果未能解决你的问题,请参考以下文章