我有一个HashMap
的名字字符串,如下所示:
HashMap<Integer, String> name = new HashMap<>();
name[0] = Ram, Shyam, Mahesh
我想更改name[0] to "Ram", "Shyam", "Mahesh"
有内置功能吗?
答案 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);