java中如何把一个字符串除了 0~9 a~z A~Z !*() 之外其他字符按其ASCII码的十六进制加%进行表示
展开全部
package zhidao;
/**
* @author yugi111
*/
public class Printer
{
public static void main ( String[] args )
{
System.out.println (convert (-1, "&*@adsf232-232319ay9"));
}
private static String convert ( int i, String src )
{
i++;
if (i > src.length () - 1)
{
return "";
}
char c = src.charAt (i);
if (String.valueOf (c).matches ("[\\da-zA-Z\\!\\*\\(\\)]"))
{
return c + convert (i, src);
}
else
{
return "%" + Integer.toString (src.charAt (i), 16).toUpperCase () + convert (i, src);
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询