首页 > 代码库 > java操作字符串
java操作字符串
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 @Test105 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 @Test116 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转换为StringBuffer130 //String s1 = sb1.toString(); StringBuffer转换为String131 @Test132 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 @Test145 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 @Test176 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 @Test186 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位置的字符为新的字符ch193 @Test194 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 @Test202 public void t19(){203 StringBuffer sb1 = new StringBuffer("abcdefg");204 System.out.println(sb1.length());205 }206 207 //20.replace方法 208 @Test209 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 @Test217 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操作字符串
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。