在java hashmap中用双引号保存逗号分隔的字符串

时间:2017-11-06 12:59:01

标签: java string hashmap

我有一个HashMap的名字字符串,如下所示:

HashMap<Integer, String> name = new HashMap<>();

name[0] = Ram, Shyam, Mahesh

我想更改name[0] to "Ram", "Shyam", "Mahesh"

有内置功能吗?

2 个答案:

答案 0 :(得分:5)

是的,你这样使用replaceAll

String str = "Ram, Shyam, Mahesh";
str = str.replaceAll("\\w+", "\"$0\"");
//note \w can match [a-zA-Z0-9_] if you want only letters you can use [a-zA-Z]+

注意:这只是一个示例,在您的情况下,您必须更改hashmap的值

结果是:

"Ram", "Shyam", "Mahesh"

修改

  

它工作但如果字符串被空格字符分隔,那么它   将该字符串视为两个不同的字符串,即字符串'My   名称'它将其转换为“我的”“名称”。

在这种情况下,您可以使用此正则表达式:

str = str.replaceAll("([a-zA-Z\\s]+)(,\\s*)?", "\"$1\"$2");

答案 1 :(得分:-1)

您可以尝试使用此代码...

        HashMap<Integer,String> name = new HashMap<>();
        name.put(10, " \"Ram\", \"Shyam\", \"Mahesh\"");
        String str = (String)name.get(10);
        System.out.println(str);