我一直使用string.replaceAll()
没有任何问题。
但是现在我很困惑...
这是我的代码
public static String getVersionName() {
String versionName = null;
versionName = "v"+packageInfo.versionName;
versionName = versionName.replaceAll(".","_");
return versionName;
}
replaceAll之前的versionName为
v1.0.4
预期结果是
v1_0_4
实际结果是
v____
或_____
它由于某种原因而变化,并且永远不是预期的结果。
为什么会这样呢?我该如何解决?
最佳答案
这是因为replaceAll
需要正则表达式。您可能应该改用replace
(仍然替换所有出现的内容),因为您只想匹配一个字符。
因此,在v1.0.4上使用versionName = versionName.replace('.','_');
可以得到v1_0_4。