假设我有这样的如何将字符串格式化为我在android中的期望?
String s= " %K%%m%r%";
字符串现在我想为
"k%m%r"
意味着空格会从一开始和结束点被删除,如果它开始或得到的字符串格式化以%结束,那么只有这些%将被删除,如果这个%依次超过一个,那么这些%将被减少到只有一个%。
我该怎么做?
假设我有这样的如何将字符串格式化为我在android中的期望?
String s= " %K%%m%r%";
字符串现在我想为
"k%m%r"
意味着空格会从一开始和结束点被删除,如果它开始或得到的字符串格式化以%结束,那么只有这些%将被删除,如果这个%依次超过一个,那么这些%将被减少到只有一个%。
我该怎么做?
这里是正则表达式的解决方案,
您如何根据您的需要,虽然写的装饰逻辑和修改。
与单个更换任何连续的字符,
class My
{
public static void main (String[] args) throws java.lang.Exception
{
String data=" %s%%m%%%n";
data = data.replaceAll("([%])(\\1{1,})", "$1");
data = data.trim();
data = data.substring(1,data.length()-1);
System.out.println(data);
}
}
String pattern = "(%+)";
String exclude = "(^%*)|(%*$)";
String candidate = "%K%%%m%%%%%r%";
System.out.println(candidate.trim().replaceAll(exclude,"").replaceAll(pattern, "%"));
产品: ķ%M%R
是它总是“%----%在你的字符串模式? – 2015-03-31 19:04:23
并不总是,但有时可能是 – Reyjohn 2015-03-31 19:05:15
@Reyjohn这是什么问题,'trim和String.replace(“%%”,“%”);' – JBaba 2015-03-31 19:05:24