目 录(本篇字数:1621)
二、提取字符串:str.substring(start,end)
五、比较字符串:str.compareTo(target);
4、str.startsWith("");判断字符串开头是否为 “目标”
5、str.endsWith("");判断字符串结尾是否为 “目标”
-
介绍
我们最熟悉的一个类:String类,我来讲解一下它所拥有的功能以及使用时需要注意的一些细节。对String类的掌握是必须的,这个属于Java的基础了,我们只需要会使用这个类已经封装好的方法即可。当然,如果你想学习的更深入一点,可以看它的一些底层相关的代码,基本是用C语言写的。这是因为Java实现不了,只能借助C来和硬件打交道。其实,作为应用层的开发人员,大可以不必管底层是如何实现的。这些底层开发人员会封装好一些方法,供我们调用。C语言作为底层的实现,性能比Java快多了,但同时也相对比较难。
String类,这个是字符串操作类,这个类封装了大量的对字符串的操作方法。比如:拆分、裁剪、替换、提取等等,那么我们就来看看它的具体用法和实例。
-
代码演示
一、拆分字符串:str.split("")
//传入一个拆分条件
例子:根据一个字符串里共有的字符‘’|‘’、‘’,‘’、‘’/‘’等来拆分一条长长的字符串,分成若干短字符串。
private void slpitString(){
//根据 “|” 来拆分一个长字符串
final String banners = "/WeiShop/goods_jpg/goods_banner_1.jpg|/WeiShop/goods_jpg/goods_banner_2.jpg|/WeiShop/goods_jpg/goods_banner_3.jpg|/WeiShop/goods_jpg/goods_banner_4.jpg";
final String[] banner = banners.split("\\|");
final int lenght = banner.length;
for (int j = 0; j < lenght; j++) {
Log.i("-------", "banner: " + banner[j]);
}
}
我们根据长字符串里的 “|” 将其拆分成4个短字符串。看下Logcat输出,就很容易理解这个方法的作用了。
这里需要特别注意:当我们需要以‘|’、‘:’、‘+’、‘.’、‘^’等特殊字符作为拆分条件的话,则需要加上 \\ 转义字符。我们上面例子就很明显的做出了转义行为,当我们拆分后得到的字符串与我们想的不一样,那么我们就可以考虑加上转义字符试试。
二、提取字符串:str.substring(start,end)
// 1、起始下标,2、结束下标
private void test() {
String test1 = "china";
String str1 = test1.substring(1, 2);
String str2 = test1.substring(2, 4);
Log.i("*---*---->", "" + str1);
Log.i("*---*---->", "" + str2);
}
substring();方法是从现有的字符串中提取字符串,如上面这个实例,我们从“china”中分别提取了1,2与2,4之间的字符串。那么根据字符串下标从0开始,所以1,2是第二个字符h,2,4是第二三组合字符in。我一并把它们分别打印出来了,以验证一下我们想的是否正确。
三、替换字符串:str.replace(old,new)
//1、新字符串,2、旧字符串
private void test() {
String test1 = "xu2WeI_HaHa";
String str1 = test1.replace("H", "h");
Log.i("*---*---->", "" + str1);
}
private void test() {
String test1 = "xu2WeI_HaHa";
String str1 = test1.replaceFirst("H", "h");
Log.i("*---*---->", "" + str1);
}
所以根据上面的例子,注意区别开。第一个例子是字符串里只要包括 H 就全部替换掉,第二个例子是替换出现的第一个 H 的位置。看看打印结果,也就验证了我们的想法:
四、提取字符:str.charAt(int index)
//传入下标位置
private void test() {
String test1 = "xu2WeI_HaHa";
char str1 = test1.charAt(5);
Log.i("*---*---->", "" + str1);
}
根据上面例子,我们数一数第五个字符是 I ,那么验证一下是否正确:
五、比较字符串:str.compareTo(target);
//传入对比目标
private void test() {
String test1 = "xu2WeI";
/**
* 忽略字母大小写
*/
int code = test1.compareToIgnoreCase("xu2WeI_Not");
Log.i("*---*---->", "" + code);
}
private void test() {
String test1 = "xu2WeI";
int code = test1.compareTo("xu2WeI");
Log.i("*---*---->", "" + code);
}
如果字符串一样,则返回为0,依此作为条件判断。
六、获取字符串起始下标:str.indexOf("")
//传入字符串目标
private void test() {
String test1 = "xu2WeI";
int index = test1.indexOf("We");
Log.i("*---*---->", "" + index);
}
这个例子是返回 We 字符串中的起始下标位置,也就是 W 的下标位置
private void test() {
String test1 = "xu2WeI.com";
int index = test1.indexOf(".", 3);
Log.i("*---*---->", "" + index);
}
这个例子是返回 点 的起始下标位置,后面的参数 3,则是从字符串的第3下标位置,也就是 W 字符。它会从 W 开始往后面搜索,如果找到这返回 点 的下标,如果找不到,则返回 -1。
private void test() {
String test1 = "xu2WeI.com.cn";
int index = test1.lastIndexOf(".");
Log.i("*---*---->", "" + index);
}
这个方顾名思义,是返回最后一个 点 的下标,这次返回结果就不再是之前的 6 了,而是 .cn前面的那个点的下标值:
七、以下是比较简单的方法
1、str.trim();裁除首、尾空格符
2、str.toLowerCase();全部转为小写
3、str.toUpperCase();全部转为大写
4、str.startsWith("");判断字符串开头是否为 “目标”
5、str.endsWith("");判断字符串结尾是否为 “目标”
6、str.contains("");是否包含 “目标”
其实,String类也就这几个重要且常用的方法,我们根据方法名就可以大致的明白它的作用了,也不是要去专门记它,多多使用就可记住了。
©原文链接:https://blog.csdn.net/smile_running/article/details/81327238
@作者博客:_Xu2WeI
@更多博文:查看作者的更多博文