【问题标题】: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
  • 不知道为什么这个问题被否决了。对其答案的赞成票清楚地表明这个问题非常相关。

标签: java


【解决方案1】:

你可以写:

mText.replace("\0", "");

【讨论】:

    【解决方案2】:

    在 Java 8+ 中,您可以使用 StringJoinerlambda 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 版本。
    猜你喜欢
    • 2018-07-27
    • 2013-03-04
    • 1970-01-01
    • 2013-10-20
    • 2011-02-01
    • 1970-01-01
    • 2015-10-30
    • 2011-08-07
    • 1970-01-01
    相关资源
    最近更新 更多