我有一个字符串
"#72c02c, #3498db, #e67e22, #9c8061, #4765a0, #79d5b3"
我想将其转换为以下内容:
"'#72c02c', '#3498db', '#e67e22', '#9c8061', '#4765a0', '#79d5b3'"
有没有办法这样做?
答案 0 :(得分:3)
我不知道为什么每个人都在使用正则表达式...这只需要一个简单的文本替换:
str = "'" + str.replace(", ", "', '") + "'";
这只是在逗号之前/之后加上引号并在每一端都加上引号,这很容易理解。
答案 1 :(得分:0)
String s = "#72c02c, #3498db, #e67e22, #e74c3c, #ecf0f1, #9b6bcc, #27d7e7, #9c8061, #4765a0, #79d5b3";
s = s.replaceAll("(#|,)","'$1");
if (s.charAt(s.length()-1) != ',')
s = s + "'";
可能不是最优雅的解决方案,但它处理字符串中最后一项不以,
结尾的情况。如果确实以逗号结尾也会有效。
答案 2 :(得分:-1)
如果您能够像使用简单的String对象实例一样使用它,则可以使用正则表达式([#\w]+)
和String.replaceAll()
方法来执行此操作,例如:
String testString = "#72c02c, #3498db, #e67e22, #e74c3c, #ecf0f1, #9b6bcc, #27d7e7, #9c8061, #4765a0, #79d5b3";
System.out.println(testString.replaceAll("([#\\w]+)","'$1'"));
([#\w]+)
的位置,您只需获取每组字母数字字符或#
然后,您只需将其替换为'$1'
,其中$1
是找到的整个群组。