本文共 840 字,大约阅读时间需要 2 分钟。
6.对字符串中的所有单词进行倒排。
说明:
1、构成单词的字符只有26个大写或小写英文字母;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;
示例
输入
I am a student
输出
student a am I
分析
1.正则表达式操作字符串的神,地表最强,没有之一
2.就是利用正则表达式,在键盘录入的时候将非字母字符过滤掉
3. [^a-zA-Z] 是去匹配目标字符串中非a—z也非A—Z的字符 4. ^[a-zA-Z是去匹配目标字符串中以中括号中的a—z或者A—Z开头的字符代码实现
import java.io.BufferedReader;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str; while ((str = br.readLine()) != null) { String[] arr = str.split("[^a-zA-Z]+");//利用正则表达式,去掉非字母 StringBuilder ss = new StringBuilder(); for (int i = arr.length - 1; i >= 0; i--) { if (i != 0) ss.append(arr[i]).append(" "); } System.out.println(ss.toString().trim()); } }}
转载地址:http://szjki.baihongyu.com/