【Java字符串】以星号遮盖字符串中间或两边
【代码】
package test105; public class Shadow { public static void main(String[] args) { String retval=shadowCenter("abcde12345",3,8); System.out.println(retval); retval=shadowEdge("abcde12345",3,8); System.out.println(retval); } /** * 以星号遮盖字符串中间 * @param origin 原文 * @param start 起始位置 * @param end 终止位置 * @return 遮盖后的字符串 */ public static String shadowCenter(String origin,int start,int end) { char[] arr=origin.toCharArray(); final int len=arr.length; if(end>len) { end=len; } for(int i=start-1;i<end;i++) { arr[i]='*'; } return String.valueOf(arr); } /** * 以星号遮盖字符串两边,中间保留 * @param origin 原文 * @param start 保留起始位置 * @param end 保留终止位置 * @return 遮盖后的字符串 */ public static String shadowEdge(String origin,int start,int end) { char[] arr=origin.toCharArray(); final int len=arr.length; for(int i=0;i<start-1;i++) { arr[i]='*'; } for(int i=end;i<len;i++) { arr[i]='*'; } return String.valueOf(arr); } }
【运行结果】
ab******45 **cde123**
END