题目描述
将一个字符中所有出现的数字前后加上符号“*”,其他字符保持不变
public static String MarkNum(String pInStr)
{
return null;
}
输入描述:
输入一个字符串
输出描述:
字符中所有出现的数字前后加上符号“*”,其他字符保持不变
示例1
输入
Jkdi234klowe90a3
输出
Jkdi234klowe90a3
思路:将数字前后都加上*;然后将出现连续两个**的替换为“”
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
while(in.hasNext()){
String str=in.nextLine();
StringBuilder sb=new StringBuilder();
for(int i=0;i<str.length();i++){
char ch=str.charAt(i);
if (ch>='0'&& ch<='9')
sb.append('*'+String.valueOf(ch)+'*');//String.valueOf(ch)由ch字符转换成字符串
else
sb.append(String.valueOf(ch));
}
System.out.println(sb.toString().replace("**",""));
}
}
}
while True:
try:
str=input().strip()
newstr=''
for each in str:
if each.isdigit():
each='*'+each+'*'
newstr+=each
result=newstr.replace('**',"")
print(''.join(result))
except:
break