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         @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 }
时间: 2024-10-13 14:31:45

java操作字符串的相关文章

java操作字符串,重点是记录一次使用replaceAll对字符串的操作

符串常用操作(String类) 字符串查找 String提供了两种查找字符串的方法,即indexOf与lastIndexOf方法. 1.indexOf(String s) 该方法用于返回参数字符串s在指定字符串中首次出现的索引位置,当调用字符串的indexOf()方法时,会从当前字符串的开始位置搜索s的位置:如果没有检索到字符串s,该方法返回-1 1 String str ="We are students"; 2 int size = str.indexOf("a"

Java.操作字符串的方法

方法 描述 boolean equals(str)    如果调用字符串包含的字符序列与str一样,则返回true int length() 获取字符串的长度 char charAt(index) 获取index指定的索引位置的字符 int compareTo(str) 如果调用字符串小于str,则返回小于0的数: 如果调用字符串大于str,则返回大于0的数: 如果相等,则返回0 int indexOf(str) 在调用字符串中查找str指定的子串.返回第一个匹配的索引,如果没有匹配项,则返回-

四:Java之字符串操作String、StringBuffer和StringBuilder

string是我们经经常使用到的一个类型,事实上有时候认为敲代码就是在重复的操作字符串,这是C的特点,在java中.jdk非常好的封装了关于字符串的操作.三个类String .StringBuffer . StringBuilder .这三个类基本上满足了我们在不同情景下使用字符串的需求. 一.String JDK的解释是 "Strings are constant; their valuescannot be changed after they are created"也就是说St

java常见字符串的操作

1 /** 2 * java常见字符串的操作 3 */ 4 public class Test7 { 5 public static void main(String args[]){ 6 StringBuffer sBuffer = new StringBuffer("ABCDEF"); 7 sBuffer.append("abcdef"); 8 sBuffer.append(".123"); 9 sBuffer.append(".4

Java学习之IO流(其他操作流 【操作基本数据类型、操作字节数组、操作字符数组、操作字符串】)

操作基本数据类型DataInputStream.DataOutputStream 1 DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.txt")); 2 dos.writeUTF("你好"); 3 dos.close(); 4 5 DataInputStream dis = new DataInputStream(new FileInputStream("data

Swift和Java关于字符串和字符的比较

1. 字符串字面量 Swift和Java关于字符串操作大同小异. Swift:字符串字面量(String Literals):我们可以在代码中包含一段预定义的字符串值作为字符串字面量. 字符串字面量是由双引号 ("") 包裹着的具有固定顺序的文本字符集.字符串字面量可以用于为常量和变量提供初始值. 代码如下: let someString = "Some string literal value" 字符串字面量可以包含以下特殊字符: 转义字符\0(空字符).\\(反

Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0

课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值  String str="Hello";  推荐这种 使用关键字new  String str1=new String("Hello"); 在内存中开辟2个空间 如图: 源代码 StringDemo01.java 2.String内容的比较 String str="Hello"

JAVA操作properties文件

java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties文件中,可以用"#"来作注释,properties文件在Java编程中用到的地方很多,操作很方便.一.properties文件test.properties------------------------------------------------------###########

Java 之字符串(7)

什么是 Java 中的字符串 在程序开发中字符串无处不在,如用户登陆时输入的用户名.密码等使用的就是字符串.其实,在前面的章节中我们就已经使用了字符串, 例如我们在控制台中输出的 "Hello World" . "imooc"等. 在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对象的方法: Java 中字符串的不变性 String 对象创建后