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.     }  
java操作大全,适合初学者,浅显易懂 部JAVA操作 2008-07-11 15:39:42| 分类: JAVA | 标签: |字号大中小 订阅 . JAVA串的方法 String a = "53c015"; //Integer.parseInt(s, radix) radix设置为10,表示10进制,16表示16进制啦 int i = Integer.parseInt(a, 16); 1、length() 字串的长度   例:char chars[]={'a','b'.'c'};     String s=new String(chars);     int len=s.length(); 2、charAt() 截取一个字   例:char ch;     ch="abc".charAt(1); 返回'b' 3、getChars() 截取多个字   void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)   sourceStart指定了子串开始字的下标,sourceEnd指定了子串结束后的下一个字的下标。因此,子串包含从sourceStart到sourceEnd-1的字。接收字的数组由target指定,target中开始复制子串的下标值是targetStart。   例:String s="this is a demo of the getChars method.";     char buf[]=new char[20];     s.getChars(10,14,buf,0); 4、getBytes()   替代getChars()的一种方法是将字存储在字节数组中,该方法即getBytes()。 5、toCharArray() 6、equals()和equalsIgnoreCase() 比较两个字串 7、regionMatches() 用于比较一个字串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。   boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)   boolean regionMatches(boolean ignoreCase,int startIndex,String str2,int str2StartIndex,int numChars) 8、startsWith()和endsWith()   startsWith()方法决定是否以特定字串开始,endWith()方法决定是否以特定字串结束 9、equals()和==   equals()方法比较字串对象中的字,==运算比较两个对象是否引用同一实例。   例:String s1="Hello";     String s2=new String(s1);     s1.eauals(s2); //true     s1==s2;//false 10、compareTo()和compareToIgnoreCase() 比较字串 11、indexOf()和lastIndexOf()   indexOf() 查找字或者子串第一次出现的地方。   lastIndexOf() 查找字或者子串是后一次出现的地方。 12、substring()   它有两种形式,第一种是:String substring(int startIndex)          第二种是:String substring(int startIndex,int endIndex) 13、concat() 连接两个字串 14 、replace() 替换   它有两种形式,第一种形式用一个字在调用字串中所有出现某个字的地方进行替换,形式如下:   String replace(char original,char replacement)   例如:String s="Hello".replace('l','w');   第二种形式是用一个字序列替换另一个字序列,形式如下:   String replace(CharSequence original,CharSequence replacement) 15、trim() 去掉起始和结尾的空格 16、valueOf() 转换为字串 17、toLowerCase() 转换为小写 18、toUpperCase() 转换为大写 19、StringBuffer构造函数   StringBuffer定义了三个构造函数:   StringBuffer()   StringBuffer(int size)   StringBuffer(String str)   StringBuffer(CharSequence chars)      (1)、length()和capacity()     一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。      (2)、ensureCapacity() 设置缓冲区的大小     void ensureCapacity(int capacity)   (3)、setLength() 设置缓冲区的长度     void setLength(int len)   (4)、charAt()和setCharAt()     char charAt(int where)     void setCharAt(int where,char ch)   (5)、getChars()     void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)   (6)、append() 可把任何类型数据的字串表示连接到调用的StringBuffer对象的末尾。     例:int a=42;       StringBuffer sb=new StringBuffer(40);       String s=sb.append("a=").append(a).append("!").toString();   (7)、insert() 插入字串     StringBuffer insert(int index,String str)     StringBuffer insert(int index,char ch)     StringBuffer insert(int index,Object obj)     index指定将字串插入到StringBuffer对象中的位置的下标。   (8)、reverse() 颠倒StringBuffer对象中的字     StringBuffer reverse() 分代码如下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值