码迷,mamicode.com
首页 > 编程语言 > 详细

java操作字符串

时间:2015-02-03 22:46:02      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:

  1 import org.junit.Test;
  2 
  3 public class StringTest {
  4         //1.length()方法
  5         @Test
  6         public void t1(){
  7             int a = "sun".length();
  8             System.out.println(a);
  9         }
 10         //2.charAt() 截取一个字符
 11         @Test
 12         public void t2(){
 13             String str1 = "sunxuelong";
 14             char ch1 = str1.charAt(2);
 15             System.out.println(ch1);
 16         }
 17         //3.equals()和equalsIgnoreCase() 比较两个字符串
 18         @Test
 19         public void t3(){
 20             String str1 = "sunxuelong";
 21             String str2 = "SunXueLong";
 22             boolean boo1 = str1.equals(str2);
 23             boolean boo2 = str1.equalsIgnoreCase(str2);
 24             System.out.println(boo1);
 25             System.out.println(boo2);
 26         }
 27         //4.startsWith()和endsWith()
 28         @Test
 29         public void t4(){
 30             String str1 = "sunxuelong";
 31             String str2 = "SunXueLong";
 32             System.out.println(str1.endsWith("Xue"));
 33             System.out.println(str2.endsWith("long"));
 34         }
 35         //5.equals()和==
 36         @Test
 37         public void t5(){
 38             String str1 = "sunxuelong";
 39             String str2 = "SunXueLong";
 40             System.out.println(str1 == str2);
 41         }
 42         //6.compareTo()和compareToIgnoreCase() 比较字符串
 43         //它从第一位开始比较,如果遇到不同的字符,则马上返回这两个字符的ascii值差值..返回值是int类型
 44         @Test
 45         public void t6(){
 46             String str1 = "a";
 47             String str2 = "aa";
 48             System.out.println(str1.compareTo(str2));
 49         }
 50         //7.indexOf() 查找字符或者子串第一次出现的地方。
 51         //lastIndexOf() 查找字符或者子串是后一次出现的地方。
 52         //indexOf(ch)ch表示ASCII值
 53         //indexOf(ch,int)表示从第int为你开始
 54         //indexOf(str)
 55         //indexOf(str,int)
 56         //说明:
 57         //如果没有找到子字符串,则返回 -1。
 58         //如果 startindex 是负数,则 startindex 被当作零。
 59         //如果它比最大的字符位置索引还大,则它被当作最大的可能索引。从左向右执行查找。否则,该方法与 lastIndexOf 相同。
 60         @Test
 61         public void t7(){
 62             String str1 = "sbnxuelong";
 63             System.out.println(str1.indexOf(98,100));
 64         }
 65         //8.substring() 截取字符串
 66         @Test
 67         public void t8(){
 68             String str1 = "sbnxuelong";
 69             System.out.println(str1.substring(3));
 70             System.out.println(str1.substring(3,4));
 71         }
 72         //9.replace()和replaceAll()
 73         //注意:replace()会替换所有相符的字符串
 74         //     replaceAll(regex, replacement)替换
 75         //     replaceFirst(regex, replacement)替换
 76         @Test
 77         public void t9(){
 78             String str1 = "sbnxuesongxue";
 79             System.out.println(str1.replace("s", "a"));
 80             System.out.println(str1.replaceAll("\\d","xxx"));
 81             System.out.println(str1.replaceAll("s","xxx"));
 82             System.out.println(str1.replaceFirst("s", "000"));
 83         }
 84         //10.trim()去掉起始和结尾的空格
 85         //如何去掉中间的空格呢?利用replaceAll
 86         @Test
 87         public void t10(){
 88             String str1 = "  sbnxue  songxue   ";
 89             System.out.println(str1.trim());
 90             System.out.println(str1.replace(" ",""));
 91         }
 92         //11.String类型与其他基本数据类型之间转换
 93         //String.valueOf()转换为字符串
 94         //Integer.parseInt(str, radix)radix表示str是多少进制的数,最后都转换成10进制
 95         @Test
 96         public void t11(){
 97             String str = String.valueOf(123);
 98             System.out.println(str);
 99             Integer.parseInt(str);
100             System.out.println(Integer.parseInt("123", 8));
101         }
102         //12.toLowerCase() 转换为小写
103         //   toUpperCase() 转换为大写
104         @Test
105         public void t12(){
106             String str1 = "sunxuelong";
107             String str2 = "SunXueLong";
108             System.out.println(str1.toLowerCase());
109             System.out.println(str1.toUpperCase());
110             System.out.println(str2.toLowerCase());
111             System.out.println(str2.toUpperCase());
112         }
113         //13.split方法                    如果字符串中在内部存在和间隔字符串相同的内容时将拆除空字符串,尾部的空字符串会被忽略掉
114         //   s.split(regex, limit)  limit限定拆分以后的字符串数量
115         @Test
116         public void t13(){
117              String s = "abbbcbtbbb";
118              String s1[] = s.split("b");
119              for(int i=0;i<s1.length;i++){
120                  System.out.println(s1[i]);
121              }
122              
123         }
124         //14.String         不可变         线程安全              任何对String的改变都会引发新的String对象的生成
125         //   StringBuffer   可变             线程安全               不会产生新的对象
126         //   StringBuilder  可变             非线程安全
127         //   如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。
128         
129         //StringBuffer sb2 = new StringBuffer(s);   String转换为StringBuffer
130         //String s1 = sb1.toString();               StringBuffer转换为String
131         @Test
132         public void t14(){
133             String str1 = "sunxuelong";
134             String str4 = "sunxuelong";
135             String str2 = null;
136             StringBuffer strb1 = new StringBuffer(str1);
137             StringBuffer strb2 = new StringBuffer(str4);
138             System.out.println(strb1.equals(strb2));
139             System.out.println(str2);
140             
141         }
142         //15.StringBuffer的常用方法
143         //append方法                追加String类型和StringBuffer是一样的
144         @Test
145         public void t15(){
146             StringBuffer sb1 = new StringBuffer("abc");
147             sb1.append(true);
148 
149             String tempstr1 = "abcdefghijklmnopqrstuvwxyz";
150             int times1 = 50000;
151             long lstart1=System.currentTimeMillis();
152             String str ="";
153             for(int i=0;i<times1;i++)
154             {
155                 str+=tempstr1;
156             }
157             long lend1=System.currentTimeMillis();
158             long time1 = (lend1-lstart1);
159             System.out.println(time1);
160             
161             String tempstr2 = "abcdefghijklmnopqrstuvwxyz";
162             int times2 = 5000000;
163             long lstart2=System.currentTimeMillis();
164             StringBuffer sb =new  StringBuffer();
165             for(int i=0;i<times2;i++)
166             {
167                 sb.append(tempstr2);
168             }
169             long lend2=System.currentTimeMillis();
170             long time2 = (lend2-lstart2);
171             System.out.println(time2);
172         }
173         //16.deleteCharAt方法             该方法的作用是删除指定位置的字符,然后将剩余的内容形成新的字
174         //   delete(int start,int end)方法
175         @Test
176         public void t16(){
177              StringBuffer sb = new StringBuffer("test");
178              sb.deleteCharAt(1);
179              System.out.println(sb);
180              StringBuffer sb2 = new StringBuffer("testString");
181              System.out.println(sb2.delete(2, 5));
182         }
183         //17.insert方法                                insert(int offset, boolean b)
184         //该方法的作用是将StringBuffer对象中的内容反转,然后形成新的字符
185         @Test
186         public void t17(){
187              StringBuffer sb = new StringBuffer("test");
188              sb.insert(4,"123");
189              System.out.println(sb);
190         }
191         
192         //18.setCharAt方法                       该方法的作用是修改对象中索引值为index位置的字符为新的字符ch
193         @Test
194         public void t18(){
195             StringBuffer sb = new StringBuffer("abc");
196             sb.setCharAt(1,‘D‘);
197             System.out.println(sb);
198         }
199         
200         //19.setLength方法                        可以设置长度
201         @Test
202         public void t19(){
203             StringBuffer sb1 = new StringBuffer("abcdefg");
204             System.out.println(sb1.length());
205         }
206         
207         //20.replace方法                        
208         @Test
209         public void t20(){
210             StringBuffer sb1 = new StringBuffer("abcdefgabcdefg");
211             System.out.println(sb1.replace(1, 7, "123"));
212         }
213         
214         //21.substring(start)方法                        
215         //   substring(start, end)方法                        
216         @Test
217         public void t21(){
218             StringBuffer sb1 = new StringBuffer("abcdefgabcdefg");
219             System.out.println(sb1.substring(1));
220             System.out.println(sb1.substring(2, 3));
221         }
222         
223 }

 

java操作字符串

标签:

原文地址:http://www.cnblogs.com/lovgge/p/4271074.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!