String字符串操作--切割,截取,替换,查找,比较,去空格

转自:https://blog.csdn.net/dl10210950/article/details/52557089

1、字符串拼接

直接用+号:

String a = "I"; 
String b = "love"; 
String c = "you";
String d = a+b+c;//就能得到I love you了
"I"+"love"+"you" //得到的也是I love you

2、字符串比较

==和equals都能比较字符串,返回的都是boolean类型

String a ="I";
String b = "love";
a==b;//返回false  
a.equals(b);//返回false  

==比较的是2个字符串是否指向同一地址,equals()比较的是实际字符串,比如大小写,长度等

3、是否包含

(1)contains()

返回值为boolean类型

String a = "szrfrrgdhjd";
a.contains("g") //里面包含,所以返回true

(2)indexOf()

返回的是一个int类型,通常和substring()一起用

String a = "qwertyu";
a.indexOf("e");//他返回的是int类型的2,就是说e在字符串a中的第2个位置

如果有多个e的话,始终返回的是第一个e的位置

4、是否为空

(1)== null

返回的是boolean

(2) isEmpty()

返回的是boolean

String a = "sssss";
a.isEmpty();  //a不是空,返回的是false

5、分割字符串

split()分割字符串

返回的是一个String数组

String a = "abcdeAfghijk";
String [] b = a.split("A");//以A作为分割点,将字符串a分割为2个字符串数组 分别为b[0] = " abce ";b[1] = "efghijk"

如果字符串包含好几个A呢

String a = "abcdeAfghAijk";
String [] b = a.split("A");  //以每个A作为分割点,得到的是b[0] = "abde";b[1] = "fgh";b[2] = "ijk";

还有更多就依此类推

6、截取字符串中间段

substring(int start,int end)

截取从start到end中间的字符串,也可以只传入一个int start 截取从start到最后

下面来一个实际操作:

//{name=段炼, age=25, sex=男, id=12, hobby=吃饭。睡觉}  中拿到id是多少的值,也就是拿到int类型的12
String s = "{name=段炼, age=25, sex=男, id=12, hobby=吃饭。睡觉}";
if (s.contains("id")) {
           //拿到id字段是处于字符串第几个位置
           int start = s.indexOf("id");
           //"id"字段后面是"hobby"字段,拿到hobby字段的位置
           int end = s.indexOf("hobby");
           /*
            * {name=段炼, age=25, sex=男, id=12, hobby=吃饭。睡觉}
            * start + 3:从i开始+3个正好是id也就是12开始的地方,
            * end-2:hobby-2正好是12结束的位置;一共减去了一个h和一个逗号
            */
           String a = s.substring(start + 3, end-2);
           //得到id后转换成int类型
          int id = Integer.parseInt(a);
得到的id就是12

7、字符串替换

(1)replace(oldChar, newChar)方法

参数1:要被替换的字符,参数2:替换进去的字符

该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串。经过该方法调用以后,原来的字符串不发生改变。例如:

String s = "abcde8fghijk8lmn";
String a = s.replace('8', 'Q');
//a的值为"abcdeQfghijkQlmn"

(2)replaceAll(String regularExpression, String replacement)

替换所有包含的字符串

参数1:要替换的字符串,2,替换进去的字符串

String s = "QQQQabcWWWabcGGGGabc";
String a = s.replaceAll("abc", "PPP");
//a的值为"QQQQPPPWWWPPPGGGGPPP"

(3)replaceFirst()

只替换第一个abc

String s = "QQQQabcWWWabcGGGGabc";
String a = s.replaceFirst("abc", "PPP");
a的值为"QQQQPPPWWWabcGGGGabc"

8、去空格

ltrim()、rtrim() 和 trim() 函数的区别   
返回不带前导空格 (ltrim)、后续空格 (rtrim) 或前导与后续空格 (trim) 的字符串

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值