Android 字符串替换,去除空格等操作

今天在写代码的时候,需要对String进行一些操作,例如变小写,去除所有空格

于是熟练的使用String的replaceAll,却发现没这个方法。

后面才发现Kotlin使用的是自己的String,有自己的方法,用String的replace(" ","")方法也可以替换里面所有的空格。

既然用到了,就寻思总结一下,这儿主要Kotlin的String方法,和Java的其实大差不差。

1.去除所有空格

" c h i n a ".replace(" ", "") //输出china,去除所有空格

2.去除开头结尾的空格

" c h i n a ".trim()//输出c h i n a;

3.内容替换

println("acdb and fff".replace("[abcd]".toRegex(), "y") )//yyyy yny fff
println("acdb and aaa".replace(Regex("[abcd]"), "y")   )//yyyy yny yyy

4.移除操作

println("123456".removeRange(0..2))//输出456
    println("123456".removeRange(0,2))//3456  参数 (开始位置,结束位置)

5.比较

    println("123456".compareTo("123a"))//输出-45
    println("123A456".compareTo("123A",true))//输出-13 忽略大小写操作

  • compareTo方法是字符串与对象进行比较。按字典顺序比较两个字符串。返回值是整型,它是比较对应字符的大小(ASCLL码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的长度差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方结束。
  • 如果参数字符串等于此字符串,则返回值0;

    如果此字符串小于字符串参数,则返回一个小于0的值

    如果此字符串大于字符串参数,则返回一个大于0的值
     

6.相等equls

val a = "123"
val b = "123"
    println("123".equals(a)) //true
    println(b.equals(a)) //true

1.判断条件:

    若当前对象和比较的对象是同一个对象,即return true。也就是Object中的equals方法。

    若当前传入的对象是String类型,则比较两个字符串的长度,即value.length的长度。

          若长度不相同,则return false

          若长度相同,则按照数组value中的每一位进行比较,不同,则返回false。若每一位都相同,则返回true。

    若当前传入的对象不是String类型,则直接返回false

2.Object.equals与String.equals的区别:

        Object.equals(==):比较内存地址,内存地址相同,说明是同一个对象;

        String.equals: 比较内容即可,不管内存地址。

总结:

        Object.equals相等,说明引用是同一个对象,那么String.equals一定相等;

        String.equals相等,只是说明字面值相等,不一定是同一个对象,所以Object.equals不一定相等。

3.源码

        Object作为String的父类,因为String重写了equals方法,所以,在String中,内容相同也返回true。object中是直接判断对象,返回true/false,string中,先判断是否是同一对象,不是则又去判断长度,再去一一比对值,源码很简单,可以去看一下。

先总结几个常用的,很基础,后面用到其他的,看了源码再来总结

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&岁月不待人&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值