package com.iiover.demo;
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)); // 返回3
System.out.println(s2.compareTo(s3)); // 返回 -1
System.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));// true
str2 = 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); // 4
System.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
// 若是无法匹配到的字符串则返回值为-1
System.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
// 若是无法匹配到的字符串则返回值为-1
System.out.println("无法匹配的字符串为:"
+ st4.lastIndexOf("bucunzaidezifuchuan")); // -1
/**
* int lastIndexOf(int ch,int fromIndex):
* 找出ch字符在该字符串中从fromIndex开始最后一次出现的位置。
* */
String minzutwo = "中华民族是一个56个民族的总称!";
System.out.println("最后一次出现的位置为: " + minzutwo.lastIndexOf('民'));// 10
System.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);
}
}
String类常见用法的实例
最新推荐文章于 2021-10-26 17:34:08 发布