Java 常用字符操作

简介:

Java 中常用的字符串操作

1,判断字符是否是普通字符(a-z,A-Z,0-9,下划线_,英文句点.)

必须是英文大小写,数字,下划线,英文句号

Java代码   收藏代码
  1. /*** 
  2.      * 是否是普通字符(a-z,A-Z,0-9,下划线_,英文句点.) 
  3.      * @param c 
  4.      * @return 
  5.      */  
  6.     public  static boolean isWordChar(char c){  
  7.         int number22=(int)c;  
  8.         if((number22>=97/*a*/ && number22<=122/*z*/)  
  9.                 ||(number22>=65/*A*/ && number22<=90/*Z*/)  
  10.                 ||(number22>=48/*0*/ && number22<=57/*9*/)  
  11.                 ||number22==95/*下划线*/  
  12.                 ||number22==46/*英文的句点.*/){  
  13. //          System.out.println("is word");  
  14.             return true;  
  15.         }else{  
  16.             return false;  
  17.         }  
  18.     }  

 测试:

Java代码   收藏代码
  1. @Test  
  2.     public void tst2(){  
  3.         char c='_';  
  4.         System.out.println(isWordChar(c));  
  5.         Assert.assertEquals(true, isWordChar(c));  
  6.           
  7.         c=',';  
  8.         Assert.assertEquals(false, isWordChar(c));  
  9.           
  10.         c='a';  
  11.         Assert.assertEquals(true, isWordChar(c));  
  12.           
  13.         c='z';  
  14.         Assert.assertEquals(true, isWordChar(c));  
  15.           
  16.         c='A';  
  17.         Assert.assertEquals(true, isWordChar(c));  
  18.           
  19.         c='Z';  
  20.         Assert.assertEquals(true, isWordChar(c));  
  21.           
  22.         c='0';  
  23.         Assert.assertEquals(true, isWordChar(c));  
  24.           
  25.         c='9';  
  26.         Assert.assertEquals(true, isWordChar(c));  
  27.           
  28.         c=' ';  
  29.         Assert.assertEquals(false, isWordChar(c));  
  30.           
  31.         c='.';  
  32.         Assert.assertEquals(true, isWordChar(c));  
  33.     }  

 2,判断字符串是否是普通字符

必须以字母开头,可以包含(a-z,A-Z,0-9,下划线_,英文句点.),但是不能以句点结尾,不能连续两个句点

Java代码   收藏代码
  1. /*** 
  2.      * 必须以字母开头,可以包含(a-z,A-Z,0-9,下划线_,英文句点.),但是不能以句点结尾,不能连续两个句点 
  3.      * @param input 
  4.      * @return 
  5.      */  
  6.     public static boolean isWord(String input){  
  7.         char c=input.charAt(0);  
  8.         if(!isWordChar(c)){  
  9.             System.out.println("不是单词");  
  10.             return false;  
  11.         }  
  12.           
  13.         int number22=(int)c;  
  14.         if((number22>=48/*0*/ && number22<=57/*9*/)  
  15.                 ||number22==95/*下划线*/||number22==46/*英文的句点.*/){  
  16.             return false;  
  17.         }  
  18.         int length22=input.length();  
  19.         int lastChar =(int)input.charAt(length22-1);//最后一个char  
  20.         if(lastChar==46/*英文的句点.*/){  
  21.             return false;  
  22.         }  
  23.         for(int j=1;j<length22;j++){  
  24.             if(!isWordChar(input.charAt(j))){  
  25.                 return false;  
  26.             }  
  27.         }  
  28.         //不能有连续两个英文句点  
  29.         if(SystemHWUtil.findStr3(input, SystemHWUtil.ENGLISH_PERIOD+SystemHWUtil.ENGLISH_PERIOD)>0){  
  30.             System.out.println("不能有连续两个英文句点");  
  31.             return false;  
  32.         }  
  33.         return true;  
  34.     }  

 测试:

Java代码   收藏代码
  1. @Test  
  2.     public void tetst2(){  
  3.         String input="abc,";  
  4.         System.out.println(isWord(input));  
  5.         Assert.assertEquals(false, isWord(input));  
  6.           
  7.         input="abc.a";  
  8.         Assert.assertEquals(true, isWord(input));  
  9.           
  10.         input="1abc,";  
  11.         Assert.assertEquals(false, isWord(input));  
  12.           
  13.         input="a111bc,";  
  14.         Assert.assertEquals(false, isWord(input));  
  15.           
  16.         input="ab.a.c";  
  17.         Assert.assertEquals(true, isWord(input));  
  18.           
  19.         input="ab..c";  
  20.         Assert.assertEquals(false, isWord(input));  
  21.     }  

 3,判断是否是空字符

空字符包括:(空格,Tab,换行,回车)

Java代码   收藏代码
  1. /*** 
  2.      * 是否是空格(空格,Tab) 
  3.      * @param c 
  4.      * @return 
  5.      */  
  6.     public static boolean isBlank(char c) {  
  7.         int number22 = (int) c;  
  8. //      System.out.println(number22);  
  9.         if(number22==32/*空格*/||number22==9/*Tab*/  
  10.                 ||number22==10/*\n*/||number22==13/*\r*/){  
  11.             return true;  
  12.         }  
  13.         return false;  
  14.     }  

 测试:

Java代码   收藏代码
  1. @Test  
  2.     public void test444(){  
  3.         char c='\n';  
  4.         System.out.println((int)c);  
  5.         System.out.println(OAUtil.isBlank(c));  
  6.         Assert.assertEquals(true, OAUtil.isBlank(c));  
  7.           
  8.         c = '.';  
  9.         Assert.assertEquals(false, OAUtil.isBlank(c));  
  10.           
  11.         c = ' ';  
  12.         Assert.assertEquals(true, OAUtil.isBlank(c));  
  13.           
  14.         c = '   '/*Tab*/;  
  15.         Assert.assertEquals(true, OAUtil.isBlank(c));  
  16.     }  

 

 

4,搜索字符串,若找到,则返回当时的索引,否则返回-1

Java代码   收藏代码
  1. /*** 
  2.      * 当发现keyWord的时候读到的index,<br>如果没有发现,则始终返回-1 
  3.      * @param srcText 
  4.      * @param keyWord 
  5.      * @param pos 
  6.      * @return 
  7.      */  
  8.     public static int findReadLength(String srcText, String keyWord, int pos) {  
  9.         int i, j/*, k = 0*/;  
  10.         i = pos;  
  11.         j = 0;  
  12.         while (i < srcText.length() && j < keyWord.length()) {  
  13.             if (srcText.charAt(i) == keyWord.charAt(j)) {  
  14.                 ++i;  
  15.                 ++j;  
  16.                 if (j == keyWord.length()) {  
  17.   
  18.                     return i;  
  19.                 }  
  20.             } else {  
  21.                 i = i - j + 1;  
  22.                 j = 0;  
  23.             }  
  24.         }  
  25.         return SystemHWUtil.NEGATIVE_ONE;  
  26.     }  

 测试:

Java代码   收藏代码
  1. @Test  
  2.     public void test_findReadLength(){  
  3.         String srcText="abc";  
  4.         System.out.println(SystemHWUtil.findReadLength(srcText, "abc"0));  
  5.         Assert.assertEquals(3, SystemHWUtil.findReadLength(srcText, "abc"0));  
  6.           
  7.         srcText=" abc";  
  8.         Assert.assertEquals(4, SystemHWUtil.findReadLength(srcText, "abc"0));  
  9.           
  10.         srcText=" abcabc";  
  11.         Assert.assertEquals(4, SystemHWUtil.findReadLength(srcText, "abc"0));  
  12.           
  13.         srcText=" ab c";  
  14.         Assert.assertEquals(-1, SystemHWUtil.findReadLength(srcText, "abc"0));  
  15.           
  16.         srcText="aababbabc";  
  17.         Assert.assertEquals(9, SystemHWUtil.findReadLength(srcText, "abc"0));  
  18.     }  
相关文章
|
3月前
|
人工智能 算法 Java
第十三届蓝桥杯B组Java(试题C:字符统计)
第十三届蓝桥杯B组Java(试题C:字符统计)
52 0
|
4月前
|
SQL Oracle 关系型数据库
java往oracle存clob类型的值时,字符长度过长怎么办?
java往oracle存clob类型的值时,字符长度过长怎么办?
68 1
|
1月前
|
Java
38、Java 中的正则表达式(单字符匹配和预定义字符)
38、Java 中的正则表达式(单字符匹配和预定义字符)
18 0
|
2月前
|
Java
Java CSV文件写入、特殊字符处理等
1、生成CSV文件时要处理双引号、逗号、回车和中文字符
66 1
|
2月前
|
Java
java字符串练习题4、统计一行字符串中所有的字符类型数量
java字符串练习题4、统计一行字符串中所有的字符类型数量
27 0
|
2月前
|
机器学习/深度学习 Java
java字符串练习题3、字符串中字符是否相同判断
java字符串练习题3、字符串中字符是否相同判断
26 0
|
3月前
|
Java
L3-2 至多删三个字符(Java)
L3-2 至多删三个字符(Java)
20 0
|
3月前
|
Java
使用java代码将图片变成ASCll字符
使用java代码将图片变成ASCll字符
15 0
|
4月前
【JavaWeb学习】—特殊字符(二)
【JavaWeb学习】—特殊字符(二)