题目描述
将一个字符中所有出现的数字前后加上符号“*”,其他字符保持不变
输入描述:
输入一个字符串
输出描述:
字符中所有出现的数字前后加上符号“*”,其他字符保持不变
示例:
输入:Jkdi234klowe90a3
输出:Jkdi*234*klowe*90*a*3*
思路:在每一个数字前后都加上*,然后将所有出现的两个**替换成*
代码:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String s = sc.next();
StringBuffer sb = new StringBuffer();
for(int i = 0; i < s.length(); i++){
if(s.charAt(i) >= '0' && s.charAt(i) <= '9')
sb.append("*" + s.charAt(i) + "*");
else sb.append(s.charAt(i));
}
System.out.println(sb.toString().replaceAll("\\*\\*", ""));
}
sc.close();
}
}