我有一个像这样的名称字符串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);