不使用正则表达式 匹配字符串(字母)
2016-07-26 10:12
309 查看
package a_不常用类;
public class 正则表达式_no {
public static void main(String[] args){
String str = "asd&sdklkl";
comp(str);
// char ch = 'a';
// System.out.println(ch+0);
// System.out.println('z'>'x');
// System.out.println('A'+0);
// System.out.println('Z'+0);
}
public static void comp(String str){
int index = 0;
char[] chs = str.toCharArray();
String[] sts = null;
StringBuilder sb = null;
int len = chs.length;
sts = new String[len/2+1];
boolean newChar = false;
for(int i=0;i<len;i++){
char c = chs[i];
if(i==0){
sb = new StringBuilder();
if(check(c))
sb.append(c);
}else{
if(check(c)){
if(newChar){
sb = new StringBuilder();
sb.append(c);
newChar = false;
}else{
sb.append(c);
if(i==len-1)
sts[index++] = sb.toString();
}
}
else{
if(newChar)//特殊字符
newChar = true;//新建字符串
else{
sts[index++] = sb.toString();
newChar = true;//新建字符串
}
}
}
}
System.out.println("符合的字符串有:"+index+"个");
for(int i=0;i<index;i++){
System.out.println("依次为:"+sts[i]);
}
}
private static boolean check(char c){
return 'a'<=c&&c<='z'||('A'<=c&&c<='Z');
}
}
public class 正则表达式_no {
public static void main(String[] args){
String str = "asd&sdklkl";
comp(str);
// char ch = 'a';
// System.out.println(ch+0);
// System.out.println('z'>'x');
// System.out.println('A'+0);
// System.out.println('Z'+0);
}
public static void comp(String str){
int index = 0;
char[] chs = str.toCharArray();
String[] sts = null;
StringBuilder sb = null;
int len = chs.length;
sts = new String[len/2+1];
boolean newChar = false;
for(int i=0;i<len;i++){
char c = chs[i];
if(i==0){
sb = new StringBuilder();
if(check(c))
sb.append(c);
}else{
if(check(c)){
if(newChar){
sb = new StringBuilder();
sb.append(c);
newChar = false;
}else{
sb.append(c);
if(i==len-1)
sts[index++] = sb.toString();
}
}
else{
if(newChar)//特殊字符
newChar = true;//新建字符串
else{
sts[index++] = sb.toString();
newChar = true;//新建字符串
}
}
}
}
System.out.println("符合的字符串有:"+index+"个");
for(int i=0;i<index;i++){
System.out.println("依次为:"+sts[i]);
}
}
private static boolean check(char c){
return 'a'<=c&&c<='z'||('A'<=c&&c<='Z');
}
}
相关文章推荐
- 自动取款机ATM取款系统 课题项目
- Git 常用命令
- 人生如牌
- 链接地址学习笔记
- Spinner
- 2016多校联合第二场 HDU5741解题报告
- 关于安卓的几种布局,以及简述其特有控件
- UVA 10285(DFS)
- Python 读取写入配置文件 —— ConfigParser
- IOS点击底部tabbar的事件
- 随便说说
- 数据查询,获取对象的对象的对象。
- 树状数组from维基百科
- thinkphp的nginx配置
- this 和 super 的区别
- 深入理解PHP传参原理(PHP5.2)
- 小心a>b和a-b>0的关系
- Oracle用户的创建及权限设置
- Maven仓库的使用
- UVA - 1610 - Party Games(模拟or枚举)