js截取字符串中的一部分-归子莫的莫

  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是两个不同的对象js 判断字符串是否相等,string1是通过new方法创建的,string2是由valueOf()方法返回的对象,所以二者的地址不一样,等式的结果就是false。

  而String的equals()方法比较的是值,String的equals()方法也是通过将字符串拆分成一个一个的字符,再逐一进行比较js 判断字符串是否相等,所以比较的是值,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码差值。

  第二种情况:

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

文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/1893
0 评论
751

发表评论

!