串的简单处理(正则表达式 应用)
发布时间:2020-12-14 04:34:09 所属栏目:百科 来源:网络整理
导读:题目要求: 串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与字母之间用下划线字符(_)分开,使得更清晰 3. 把单词中间有多个空格
|
题目要求: 串的处理
代码:
/*
* 串的简单处理
*/
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main
{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
String str=in.nextLine();
String []ss=str.split("[s]+");//“,s*|s+”是正则的表达式,s表示空格,应该是以空格开头或结尾都会被截取到。
for(int i=0;i<ss.length;i++)
{
String up=(""+ss[i].charAt(0)).toUpperCase();//首字母大写
StringBuffer sb=new StringBuffer(ss[i]);
ss[i]=sb.replace(0,1,up).toString();
Matcher m=Pattern.compile("d+").matcher(ss[i]);
while(m.find())
{
String num=new String(m.group());
String num2=num;
num2="_"+num+"_";//数字前加“——”
ss[i]=ss[i].replace(num,num2);//替换字符串
if(ss[i].startsWith("_"))//去掉头部
{
ss[i]=ss[i].substring(1);
}
if(ss[i].endsWith("_"))//去掉尾部
{
ss[i]=ss[i].substring(0,ss[i].length()-1);//得到字符串中的子串
}
}
}
print(ss);
}
public static void print(String[]s)
{
for(int i=0;i<s.length-1;i++)
{
System.out.print(s[i]+" ");
}
System.out.println(s[s.length-1]);
}
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
