你的位置:首页 > Java教程

[Java教程]String和Array的常用方法


String和Array几个常用方法需要掌握:

  String:

  • slice(start, end):提取字符串的片断,并在新的字符串中返回被提取的部分。不包括end所在的字符,参数可以为负数,返回值:一个新的字符串
  • substr(start,length):从起始索引号提取字符串中指定数目的字符。index可以为负数,length可选返回长度,返回值:一个新的字符串
  • substring(start,stop):提取字符串中两个指定的索引号之间的字符。参数不能为负数,返回值:一个新的字符串
  • split(separator,howmany):把一个字符串分割成字符串数组,分隔符可以是正则表达式或字符串,返回值:一个字符串数组
  • match(searchvalue|regexp):找到一个或多个正则表达式的匹配。返回值:存放匹配结果的数组
  • replace(regexp|substr,replacement):字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。返回值:一个新的字符串
  • search(regexp):检索与正则表达式相匹配的值。返回值:stringObject 中第一个与 regexp 相匹配的子串的起始位置。未找到返回-1
  • charAt(index):返回在指定位置的字符。
  • concat(stringX,stringX,...,stringX):连接字符串。一般用+号连接字符串
  • indexOf(searchvalue,fromindex):返回某个指定的字符串值在字符串中首次出现的位置。如果未找到返回-1
  • lastIndexOf(searchvalue,fromindex):返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。如果未找到返回-1

  Array:

  • slice(start,end):从某个已有的数组返回选定的元素,和String.slice()类似,返回值:返回一个新的数组
  • join(separator):把数组中的所有元素放入一个字符串。返回值:一个新的字符串
  • splice(index,howmany,item1,.....,itemX):向/从数组中添加/删除项目,然后返回被删除的项目。返回值:包含被删除项目的新数组,如果有的话。
  • shift():把数组的第一个元素从其中删除,并返回第一个元素的值。
  • unshift():方法可向数组的开头添加一个或更多元素,并返回新的长度。
  • pop():方法用于删除并返回数组的最后一个元素。
  • push():方法可向数组的末尾添加一个或多个元素,并返回新的长度。
  • reverse():方法用于颠倒数组中元素的顺序。
  • sort():方法用于对数组的元素进行排序。参数为函数
  • concat():方法用于连接两个或多个数组。

 1   // slice(start,end)  2   // 提取字符串的片断,并在新的字符串中返回被提取的部分。不包括end所在的字符,参数可以为负数 3   // 返回值:一个新的字符串 4   var str = 'hello world!'; 5   console.log('======slice======'); 6   console.log(str.slice(6, 8)); // wo 7   console.log(str.slice(-2)); // d! 8   console.log(str.slice(6, -2)); // worl 9   console.log(str.slice(6)); // world! 10   console.log(''); 11  12   // substr(start,length) 13   // 字符串中抽取从 start 下标开始的指定数目的字符。index可以为负数,length可选返回长度 14   // 返回值:一个新的字符串 15   var str2 = 'how old are you?'; 16   console.log('======substr======'); 17   console.log(str2.substr(5)); // ld are you? 18   console.log(str2.substr(-4)); // you? 19   console.log(str2.substr(-4, 2)); // yo 20   console.log(''); 21  22   // substring(start,stop) 23   // 提取字符串中介于两个指定下标之间的字符。参数不能为负数 24   // 其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。 25   // 如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。 26   // 返回值:一个新的字符串 27   var str3 = 'how old are you?'; 28   console.log('======substring======'); 29   console.log(str3.substring(5)); // ld are you? 30   console.log(str3.substring(2, 6)); // w ol 31   console.log(str3.substring(6, 2)); // w ol 32   console.log(''); 33  34   // split(separator,howmany) 35   // 方法用于把一个字符串分割成字符串数组,分隔符可以是正则表达式或字符串,howmany可选返回长度 36   // 返回值:一个字符串数组 37   var str4 = 'jay,jam,jane,jj'; 38   console.log('======split======'); 39   console.log(str4.split(',')); // ["jay", "jam", "jane", "jj"] 40   console.log(''); 41  42   // match(searchvalue|regexp) 43   // 在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 44   // 返回值:存放匹配结果的数组 45   var str5 = 'jay,33jam,2jane,19jj'; 46   console.log('======match======'); 47   console.log(str5.match(',')); // [",", index: 3, input: "jay,33jam,2jane,19jj"] 48   console.log(str5.match(/\d/gi)); // ["3", "3", "2", "1", "9"] 49   console.log(''); 50  51   // replace(regexp|substr,replacement) 52   // 字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 53   // 返回值:一个新的字符串 54   var str6 = 'jay,33jam,2jane,19jj'; 55   console.log('======replace======'); 56   console.log(str6.replace('33', 66)); // jay,66jam,2jane,19jj 57   console.log(str6.replace(/,/g, '#')); // jay#33jam#2jane#19jj 58   console.log(''); 59  60   // search(regexp) 61   // 检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。 62   // 返回值:stringObject 中第一个与 regexp 相匹配的子串的起始位置。 63   var str7 = 'jay,33jam,2jane,19jj'; 64   console.log('======search======'); 65   console.log(str7.search('33')); // 4 66   console.log(str7.search('xxx')); // -1 67   console.log(str7.search(/jj/)); // 18 68   console.log(''); 69  70   // charAt(index) 71   // 返回指定位置的字符。 72   var str8 = 'jay,33jam,2jane,19jj'; 73   console.log('======charAt======'); 74   console.log(str8.charAt(7)); // a 75   console.log(''); 76  77   // concat(stringX,stringX,...,stringX) 78   // 连接两个或多个字符串。 79   var str9 = 'jay,33jam,2jane,19jj'; 80   console.log('======concat======'); 81   console.log(str9.concat(',haha')); // jay,33jam,2jane,19jj,haha 82   console.log(''); 83  84   // indexOf(searchvalue,fromindex) 85   // 返回某个指定的字符串值在字符串中首次出现的位置。如果未找到返回-1 86   var str10 = 'jay,33jam,2jane,19jj'; 87   console.log('======indexOf======'); 88   console.log(str10.indexOf('2')); // 10 89   console.log(str10.indexOf('*')); // -1 90   console.log(str10.indexOf('2', 9)); // 10 91   console.log(''); 92  93   // lastIndexOf(searchvalue,fromindex) 94   // 返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。如果未找到返回-1 95   var str11 = 'jay,33jam,2jane,19jj'; 96   console.log('======lastIndexOf======'); 97   console.log(str11.lastIndexOf('2')); // 10 98   console.log(str11.lastIndexOf('9')); // 17 99   console.log(str11.lastIndexOf('2', 15)); // 10100   console.log('');101 102   // 数组方法103   // slice(start,end)104   // 从已有的数组中返回选定的元素。105   // 返回值:返回一个新的数组106   var arr1 = ['George', 'John', 'Thomas', 'James', 'Adrew', 'Martin'];107   console.log('======slice======');108   console.log(arr1.slice(1)); // ["John", "Thomas", "James", "Adrew", "Martin"]109   console.log(arr1.slice(2, 5)); // ["Thomas", "James", "Adrew"]110   console.log('');111 112   // join(separator)113   // 把数组中的所有元素放入一个字符串。114   // 返回值:返回一个字符串115   var arr2 = ['George', 'John', 'Thomas', 'James', 'Adrew', 'Martin'];116   console.log('======join======');117   console.log(arr1.join('@')); // George@John@Thomas@James@Adrew@Martin118   console.log('');119 120   // splice(index,howmany,item1,.....,itemX)121   // 向/从数组中添加/删除项目,然后返回被删除的项目。122   // 返回值:包含被删除项目的新数组,如果有的话。123   var arr3 = ['George', 'John', 'Thomas', 'James', 'Adrew', 'Martin'];124   console.log('======splice======');125   arr3.splice(0, 0, 'haha'); // 添加126   console.log(arr3); // ["haha", "George", "John", "Thomas", "James", "Adrew", "Martin"]127   arr3.splice(2, 1, 'Tom'); // 替换128   console.log(arr3); // ["haha", "George", "Tom", "Thomas", "James", "Adrew", "Martin"]129   arr3.splice(3, 1); // 删除130   console.log(arr3); // ["haha", "George", "Tom", "James", "Adrew", "Martin"]131   console.log('');132 133   // shift()134   // 把数组的第一个元素从其中删除,并返回第一个元素的值。135   var arr4 = ['George', 'John', 'Thomas', 'James', 'Adrew', 'Martin'];136   console.log('======shift======');137   console.log(arr4.shift()); // George138   console.log('');139 140   // unshift()141   // 方法可向数组的开头添加一个或更多元素,并返回新的长度。142   var arr5 = ['George', 'John', 'Thomas', 'James', 'Adrew', 'Martin'];143   console.log('======unshift======');144   console.log(arr5.unshift('888')); // 7145   console.log('');146 147   // pop()148   // 方法用于删除并返回数组的最后一个元素。149   var arr6 = ['George', 'John', 'Thomas', 'James', 'Adrew', 'Martin'];150   console.log('======pop======');151   console.log(arr4.pop('')); // Martin152   console.log('');153 154   // push()155   // 方法可向数组的末尾添加一个或多个元素,并返回新的长度。156   var arr7 = ['George', 'John', 'Thomas', 'James', 'Adrew', 'Martin'];157   console.log('======push======');158   console.log(arr7.push('222')); // 7159   console.log('');160 161   // reverse()162   // 方法用于颠倒数组中元素的顺序。163   var arr8 = ['George', 'John', 'Thomas', 'James', 'Adrew', 'Martin'];164   console.log('======reverse======');165   console.log(arr8.reverse()); // ["Martin", "Adrew", "James", "Thomas", "John", "George"]166   console.log('');167 168   // sort(sortby)169   // 方法用于对数组的元素进行排序。参数为函数170   // 返回值:对数组的引用171   // 比较函数参数说明:172   //若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。173   //若 a 等于 b,则返回 0。174   //若 a 大于 b,则返回一个大于 0 的值。175   var arr9 = [1, 22, 68, 33, 79, 57, 61, 37, 64, 99, 6];176   console.log('======sort======');177   // 从小到大排序178   arr9.sort(function(n1, n2) {179     return n1 - n2;180   });181   console.log(arr9);182   console.log('');183   184   // concat(arrayX,arrayX,......,arrayX)185   // 方法用于连接两个或多个数组。186   var arr10 = [1,2,3];187   console.log('======concat======');188   console.log(arr10.concat(4,5));189   console.log(arr10.concat(['a','b','c']));