String类常用的方法来操作字符串对象实例

来源:互联网 发布:淘宝天猫购物返钱 编辑:程序博客网 时间:2024/06/05 01:58
import javax.swing.text.StyledEditorKit.BoldAction;public class stringdemo2 {public static void main(String[] args) {String s1 = "abcdef";String s2 = "abcdefjhi";String s3 = "abcdefk";// 获取字符串中指定位置的字符System.out.println("输出s1第5位的: " + s1.charAt(5));// 比较两个字符串大小,如果两个字符串的字符序列相等,则返回0,不相等时,// 从两个字符串第0个字符开始比较,返回第一个不相等的字符差。// 如果较长的字符串的前面部分与较短的字符串一样,则返回他们的长度差。System.out.println(s2.compareTo(s1)); // 返回3System.out.println(s2.compareTo(s3)); // 返回 -1System.out.println("concat的用法--拼接: " + s1.concat(s3));// 将该String对象转换成byte数组。String str = "abcd";byte[] data = str.getBytes();// 数组的长度System.out.println("数组的长度: " + data.length); // 4// 第0位存储的内容System.out.println("第0位存储的内容" + (char) data[0]); // a/** * 将该String对象与StringBuffer对象sb进行比较,当他们包含的字符序列相同时返回true。 * */String str1 = "amrood admin";String str2 = "amrood admin";StringBuffer strbuf = new StringBuffer(str1);System.out.println("返回值 : " + str2.contentEquals(strbuf));// truestr2 = str1.toUpperCase();System.out.println("返回值 : " + str2.contentEquals(strbuf));// false/** * tatic String copyValueOf(char[] data,int offset,int * count):将char数组的子数组中的元素连缀成字符串, 与String(char[] value,int offset,int * count)构造器功能相同。 * */char[] charArr = { 'C', 'O', 'M', 'P', 'I', 'L', 'E', 'A', 'O', 'N','L', 'I', 'Z', 'E' };// 8, 6 从下标为8的开始 选取6个组成字符串String str3 = String.copyValueOf(charArr, 8, 6);System.out.println("从下标为8的开始 选取6个组成字符串:"+str3);// ONLIZE/** * 将字符数组组成一个字符串,与构造器String(char[] content)功能相同。 */char[] arr = new char[] { 'M', 'I', 'U', 'I' };String str4 = String.copyValueOf(arr);System.out.println("字符串的拼接:" + str4);/** * boolean endsWith(String str):返回String对象是否以str字符串结尾。 * */String str5 = new String("钓鱼岛是中国地");// 返回值为boolean类型System.out.println("【正确的】返回结果为 = " + str5.endsWith("中国地"));System.out.println("【错误的】返回结果为 = " + str5.endsWith("日本地"));/** * boolean equals(Object anObject):将该字符串与指定对象进行比较, * 如果二者包含序列相等则返回true,否则返回false。 * */String str6 = "MIUI";String str7 = "EIUI";System.out.println("MIUI和EIUI的equals比较: " + str6.equals(7));/** * boolean equalsIgnoreCase(String str):将字符串与指定的对象进行比较, * 二者包含序列相同则返回true,否则返回false。只是该方法忽略大小写。 * */String str8 = "root";String str9 = "admin";String str10 = "ADMIN";boolean retval1 = str9.equalsIgnoreCase(str8);System.out.println("admin equal thankyou = " + retval1);boolean retval2 = str9.equalsIgnoreCase(str10);// 只是该方法忽略大小写System.out.println("admin equal ADMIN = " + retval2);/** * byte[] getBytes():将该String对象转换成byte数组。 * */String st = "abcd";// String对象转换成byte数组byte[] dat = st.getBytes();System.out.println("数组的长度" + dat.length); // 4System.out.println("数组0下标的值为: " + (char) dat[0]); // a/** * void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin): * 该方法将字符串中从srcBegin开始到srcEnd结束的字符复制到dst字符数组中, * 其中dstBegin为目标字符数组的要拷贝的起始位置。 * */char[] c1 = { '我', '们', '爱', '北', '京', '啊' };String st1 = "济南好";/** * 0,2代表在字符串中从0开始到2结束的字符复制到c1的数组中,最后一个3代表从c1数组的第三位粘贴字符串 * */st1.getChars(1, 2, c1, 3);System.out.println(c1);/** *  * int indexOf(int ch):找出ch字符在该字符串中第一次出现的索引位置。 * */String ind = "aopqsizdes";int a = ind.indexOf('z');System.out.println("在字符串【aopqsizdes】【z】第一次出现的索引位置" + a);/** * int indexOf(int ch,int fromIndex)找出ch字符在该字符串中从fromIndex索引后面第一次出现的位置。 * */String st3 = "你的好我们也好,他也好";System.out.println("第一次出现的的索引位置:" + st3.indexOf('好'));System.out.println("索引后面第一次出现的位置:" + st3.indexOf('好', 3));/** * int indexOf(String str):找出str子字符串在该字符中第一次出现的位置。 * */String st4 = "Collections of tutorials at tutorials point";System.out.println("tutorials在Collections of tutorials at tutorials point中第一次出现的位置:"+ st4.indexOf("tutorials")); // 15// 若是无法匹配到的字符串则返回值为-1System.out.println("无法匹配的字符串为:" + st4.indexOf("bucunzaidezifuchuan")); // -1/** * int indexOf(String str,int fromIndex): * 找出str子字符串在该字符串中从fromIndex索引后第一次出现的位置。 * */String minzu = "中华民族是一个56个民族的总称!";// 第一次出现的位置System.out.println("第一次出现的位置:" + minzu.indexOf("民族"));System.out.println("在该字符串中从fromIndex索引后第一次出现的位置:"+ minzu.indexOf("民族", 3));/** * int lastIndexOf(int ch):找出ch字符在该字符串中最后一次出现的位置。 * */String last = "Collections of tutorials at tutorials point";System.out.println("tutorials在Collections of tutorials at tutorials point中最后一次出现的位置:"+ last.lastIndexOf("tutorials")); // 15// 若是无法匹配到的字符串则返回值为-1System.out.println("无法匹配的字符串为:"+ st4.lastIndexOf("bucunzaidezifuchuan")); // -1/** * int lastIndexOf(int ch,int fromIndex): * 找出ch字符在该字符串中从fromIndex开始最后一次出现的位置。 * */String minzutwo = "中华民族是一个56个民族的总称!";System.out.println("最后一次出现的位置为: " + minzutwo.lastIndexOf('民'));// 10System.out.println(minzutwo.lastIndexOf('民', 3));/** * String replace(String oldChar,String newChar): * 将字符串中的所有的oldChar替换成newChar。 * */String repstr = "The quick brown fox jumps over the lazy dog.";String newStr = repstr.replace('d', 'l');System.out.println("替换前的字符串: = " + repstr);System.out.println("替换后的字符串: = " + newStr);/** * String replaceAll(String regex, String replacement): 使用给定的 * replacement 替换此字符串所有匹配给定的正则表达式regex的子字符串。 * 个人理解:替换一个字符串中的某一个字符串,出现几个替换几个。 * */String msg = "你好,我也好,大家好才是真的好";String oldChar = "你好";String newChar = "伱好";msg = msg.replace(oldChar, newChar);System.out.println("原字符串:" + msg);oldChar = "好";newChar = "坏";msg = msg.replaceAll(oldChar, newChar);System.out.println("replaceAll替换后的字符串:" + msg);/** * char[] toCharArray():将该字符串对象转换成字符数组。 * */String tcastr = "Java was developed by James Gosling";char retval[] = tcastr.toCharArray();System.out.println("转换为char数组的长度: " + retval.length);System.out.println(retval);/** * String toLowerCase():将字符串转换成小写。 * */String tlcstr = "AOPDESCAVDEPck";String newtlcstr = tlcstr.toLowerCase();// 小写的输出的还是小写System.out.println("大写的字符串转换成小写的:" + newtlcstr);/** * String toUpperCase():将字符串转换成大写。 * */String tucstr = "ckasdbihjdvbdsjfghAPP";String newtucstr = tucstr.toUpperCase();// 大写的输出的还是大写System.out.println("小写的字符串转换成大写的:" + newtucstr);/** * String[] split(String reg):将字符串按照指定的正则表达式进行拆分。 * 1、如果用“.”作为分隔的话,必须是如下写法, * String.split("\\."),这样才能正确的分隔开,不能用String.split("."); * 2、如果用“|”作为分隔的话,必须是如下写法,String.split("\\|"),这样才能正确的分隔开,不能用String.split ("|"); * “.”和“|”都是转义字符,必须得加"\\"; * 3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如,“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split("and|or"); * 使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。*/String[] aa = "aaa|bbb|ccc".split("\\|");for (int i = 0; i < aa.length; i++) {System.out.println("【|】分割: " + aa[i]);}    String[] bb = "aaa*bbb*ccc".split("\\*");    for (int i = 0 ; i <bb.length ; i++ ) {      System.out.println("【*】分割:"+bb[i]);     }        String[] cc = "adpafgcadpsdlmj".split("d");    for (int i = 0 ; i <cc.length ; i++ ) {      System.out.println("【字母分隔实例】分割:"+cc[i]);     }            String[] dd = "18763769758".split("7");    for (int i = 0 ; i <dd.length ; i++ ) {      System.out.println("【数字分隔实例】分割:"+dd[i]);     }            /**     * String subString(int index):从指定的索引的位置开始直到字符串结束位置,     * 将其作为字符串进行返回。     * */    String subgstr = "you are my soon";    String subgstr2 = "";    //注意:从索引为3的开始截取到字符串的结束,本例子索引为4的位置为空格,输出含有空格    subgstr2 = subgstr.substring(3);    System.out.println("索引为3的开始截取到字符串的结束:"+subgstr2);            /**     *String subString(int beginIndex,int endIndex)     * 从指定的索引的位置开始直到字符串结束位置,将其作为字符串进行返回。     * */    String sbsstr = "This is tutorials point";    String substr = "";        //从索引为7的位置开始到到字符串17的位置结束 注意输出有一个空格(8的位置为空格)    substr = sbsstr.substring(7, 17);    System.out.println("从索引为7的位置开始到到字符串17的位置结束 注意输出有一个空格(8的位置为空格)="+substr);    //从索引为0的位置开始到到字符串7的位置结束    substr = sbsstr.substring(0, 7);    System.out.println("从索引为0的位置开始到到字符串7的位置结束="+substr);    }}

原创粉丝点击