java - 格式化字符串以从中形成一个新字符串

标签 java

我收到此格式的字符串TEST [52.5, 77.5]

收到上面的字符串后,我想形成两个元素,如下所示

TEST 52.5

TEST 77.5

我已经尝试如下所示,但没有得到我想要的输出。

public class Test {
    public static void main(String args[]) throws Exception {
        String string = "TEST [52.5, 77.5]";
        String strModf = string.replaceAll("\\[", " ");
        String newStr = strModf.replaceAll("\\]", " ");

        // Used StringBuffer here but not able to succeed .

    }
}

最佳答案

我会做这样的事情:

String str = "TEST [52.5, 77.5]";
Pattern p = Pattern.compile("(.*?)\\s*\\[(.*)\\]");
Matcher m = p.matcher(str);

if (m.find()) {
    String first = m.group(1);
    String[] others = m.group(2).split("\\s*,\\s*");

    for (String other : others)
        System.out.println(first + " " + other);
}
TEST 52.5
TEST 77.5

关于java - 格式化字符串以从中形成一个新字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19052529/

相关文章:

java - 在java中删除新行之前的空格

java - Java 中存在错误的合并排序

Java 7 update 51 - 每次都提示用户关于发布者名称的确认消息

带有对象的 Java 列表 - 如果具有特定属性的对象已存在,则查找并替换(删除)条目

java - 如何在android/java中获取json对象中json数组的所有标签名称列表

java - php exec() 不刷新 Path 环境变量

java - 如何使用 if 语句来更改属性的值?

java - 由 : com. google.gson.stream.MalformedJsonException 引起:预期 EOF 位于第 1 行第 21 列

java - 如何访问Flash内部的外部数据?

java - URLClassLoader 究竟是如何工作的? java