【问题标题】:Java String outputJava 字符串输出
【发布时间】:2016-07-27 07:23:57
【问题描述】:

我的字符串输入是字符串编号 = "546+90"。

我想给出这样的输出 "546 + 90"。我如何在 java 中做到这一点?现在我正在尝试:

Number.replaceAll("[0-9]"," ");

但它似乎不起作用。有没有人有什么建议?

【问题讨论】:

  • 变量名不要大写
  • 似乎有混淆输入是“字符串编号=546+90”还是只是“546+90”
  • 我犯了错误。对不起!!!。它的“546+90”。我已经编辑过了。

标签: java string replace digit


【解决方案1】:

字符串是不可变的,因此您需要获取替换方法的字符串结果:

public static void main(String[] args) {
        String number="546+90";
        number  = number.replaceAll("\\+" , " + ");

        System.out.println(number);
    }

【讨论】:

  • 不是+保留吗?也许它需要逃避
【解决方案2】:

首先,Numberjava.lang 包中的内置类,因此您永远不应该使用该名称。

第二,变量要小写,所以应该是number

第三,字符串是不可变的,所以需要从replaceAll()获取返回值。

如果你想要这个字符串:"String Number=546+90"
变成这个字符串:"546 + 90"
那么你需要在= 之前删除任何内容并在+ 周围添加空格。

这可以通过链接replace 调用来完成:

String number = "String Number=546+90";
number = number.replaceFirst(".*=", "")
               .replaceAll("\\+", " + ");
System.out.println(number);

如果您还需要其他运算符,请使用字符类。您必须捕获字符以将其保留在替换字符串中,并且您必须-放在首位或最后(或转义)。

number = number.replaceFirst(".*=", "")
               .replaceAll("([-+*/%])", " $1 ");

【讨论】:

【解决方案3】:

添加转义字符将解决您的问题
字符串编号 = "\"" + "546+90" + "\"";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    相关资源
    最近更新 更多