字符串常用方法

字符串的截取操作(转自):

截取操作:

substring()截取

2、substr()截取

字符(Char)转换为字符串

方法一:使用Character.toString()

方法二:使用String.valueOf()

字符串转数组

toCharArray()

split()

1、符号特殊我们需要在前面加上\\进行转义

2、符号不特殊我们不需要加\\

3、多个符号作为分隔符

      System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);

字符数组转成字符串

一种是直接将字符数组作为参数构造String对象;

另一种是使用String的valueOf()方法。

判断字符串是否相等:

使用equals()方法,不要使用==。

按照字典顺序比较字符串的大小:

public int compareTo(String anotherString)

单一字符串进行比较:

   两字符串不等长时:

首字母不同时:

  首字母相同时:


字符串的截取操作(转自):

js截取字符串中的一部分_归子莫的博客-CSDN博客_截取字符串中的一部分

截取操作:

substring()截取


提取字符串中介于两个指定下标之间的字符

stringObject.substring(start, stop)
1、stringObject.substring(start, stop)
start(必需):一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop(可选):一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1

var str = "0123456789";
str.substring(3,5);
1、var str = "0123456789";
2、str.substring(3,5);


2、substr()截取


substr 方法用于返回一个从指定位置开始的指定长度的子字符串。

stringObject.substr(start, length)
1、stringObject.substr(start, length)
start(必需):所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length(可选):在返回的子字符串中应包括的字符个数。

var str = "0123456789";
str.substr(3,5);


字符(Char)转换为字符串

方法一:使用Character.toString()

Character类提供了一个静态方法toString()用来将字符转换成字符串。

char ch = 'U';
String charToString = Character.toString(ch);

方法二:使用String.valueOf()

char ch = 'U';
String valueOfchar = String.valueOf(ch);

字符串转数组

toCharArray()

像”abcdefghijk”这种字符串假如它中间没有特殊符号隔开使用toCharArray()方法

String string1 = “abcdefghijk” ;

char [] strArr1 = string1.toCharArray(); //注意返回值是char数组

for(char i:strArr1) {System.out.println(i);}

split()

当字符串里面有符号进行分割时

1、符号特殊我们需要在前面加上\\进行转义

 String address=”上海|上海市|闵行区|吴中路”;

 String[] splitAddress=address.split(“\\|”); //如果以竖线为分隔符,则split的时候需要加上两个斜杠【\\】进行转义

System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);

2、符号不特殊我们不需要加\\

 String address=”上海,上海市,闵行区,吴中路”;

      String[] splitAddress=address.split(“,”);

      System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);

3、多个符号作为分隔符

 String address=”上海^上海市@闵行区#吴中路”;

      String[] splitAddress=address.split(“\\^|\\@|\\#”);

      System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);

字符数组转成字符串

char[] str = {'h','e', 'l', 'l', 'o', '  ', '1','2','3'};  //创建一个字符数组
    String string1 = new String(str);
    String string2 = String.valueOf(str);
    System.out.println(string1);  //hello 123
    System.out.println(string2);
    System.out.println(string1 == string2);  //false
    System.out.println(string1.equals(string2));  //true

在上面的代码中,可以看出char数组转成字符串的方法有两种:

一种是直接将字符数组作为参数构造String对象;

另一种是使用String的valueOf()方法。

这两种方法得到的字符串都是相同的,但是在上面代码的最后两句:

    System.out.println(string1 == string2);  //false
    System.out.println(string1.equals(string2));  //true

两者的结果不一样,因为在string1 == string2中,比较的是地址,由于string1 和 string2是两个不同的对象,string1是通过new方法创建的,string2是由valueOf()方法返回的对象,所以二者的地址不一样,等式的结果就是false。

而String的equals()方法比较的是值,String的equals()方法也是通过将字符串拆分成一个一个的字符,再逐一进行比较,所以比较的是值,string1.equals(string2)的结果就是true。

判断字符串是否相等:

使用equals()方法,不要使用==。


按照字典顺序比较字符串的大小:

public int compareTo(String anotherString)

其返回的是一个int类型值,返回参与比较的前后两个字符串的asc码的差值。

若Str1等于参数字符串Str2字符串,则返回0;若该Str1按字典顺序小于参数字符串Str2,则返回值小于0;若Str1按字典顺序大于参数字符串Str2,则返回值大于0。


单一字符串进行比较:

    String a="a",b="b";

    System.out.println(a.compareto.b);

    则输出-1;

    若a="a",b="a"则输出0;

    若a="b",b="a"则输出1;


   两字符串不等长时:

首字母不同时:

   若a="ab",b="b",则输出-1;

   若a="abcdef",b="b"则输出-1;

    也就是说,如果两个字符串首字母不同,则该方法返回首字母的asc码的差值;

  首字母相同时:

  若a="ab",b="a",输出1;

  若a="abcdef",b="a"输出5;

  若a="abcdef",b="abc"输出3;

  若a="abcdef",b="ace"输出-1;

第一种情况:

参与比较的两个字符串如果首字符相同,则比较下一个字符,直到有不同的为止,返回该不同的字符的asc码差值。

第二种情况:

如果两个字符串不一样长,可以参与比较的字符又完全一样,则返回两个字符串的长度差值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值