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



我有一个像这样的名称字符串HashMap

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

哪里name[0] = Ram, Shyam, Mahesh

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

有没有内置功能可以做到这一点?

是的,你像这样使用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]+

注意:这只是一个例子,在您的情况下,您必须更改哈希图的值

结果是 :

"Ram", "Shyam", "Mahesh"

编辑

有效,但如果字符串由空格字符分隔,则它 将该字符串视为两个不同的字符串,即字符串"我的" 名称"它正在将其转换为"我的"名称"。

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

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

你可以试试这段代码来做到这一点...

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

最新更新