- 给定一个字符串。请去除串中的数字并反转。
本题是用Java语言中的基本语法StringBuilder的实例应用。话不多说,上代码。
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String s=scanner.nextLine();
StringBuilder a=new StringBuilder(s.replaceAll("\\d", ""));
System.out.println(a.reverse().toString());
}
}
通过Scanner输入对象接收输入流之后,创建StringBuilder对象来实现字符串中正则表达式整数中的替换,最后通过reverse()方法语句输出得到答案。
其中replaceAll()方法中的"\d"属于转义字符,意为整数的意思。有C基础的同学应该明白%d是整数的格式转换符。在此参考以下评论:
在正则表达式中”.“代表的是全部的意思,与“*”代表的是同等的意思,因此当实用“.”的时候会被作为通配符,解决此问题需要将“.”进行转义,使之正则认为普通的“.”而不是通配符,所以”\“需要在“.”的前面加上“”,但如果想要正确的通过编译使用转义字符,则还需将’'再转义下,即在”\“的前面加上”\“,即”\".