js常用文字列操作方法まとめ
42186 ワード
はじめに、配列の方法をまとめたばかりです.文字列の方法をまとめてみます.自分のあとで確認しやすくて、他の仲間にも助けてもらいたいです.
文字の方法:
charAt(index)&charCodeAt(index)
定義:指定された索引の文字/unicodeコードを返します.
1.スプリット()-文字列を配列に分割する
定義:1つの文字列を文字列配列に分割します.文法:str.splitパラメータ:seperator(オプション)、文字列または正則limitを指定して、配列の最大長さを指定します.
str.substring(start,end):両パラメータは正数で、戻り値:「start,end」つまりstartからend-1までの文字を返します.
str.slice(start,end):2つのパラメータは正の負の値ができます.負の値は右から切り取り、戻りの値を表します.つまり、startからend-1までの文字を返します.
str.substr(start,length):startパラメータは正負、負は右から切り取ります.
注:この3つの方法は、いずれも操作文字列のサブ文字列を返して、1つまたは2つのパラメータを受信します. は、これらの方法に第2のパラメータを渡さないと、文字列の長さを終了位置とします.これらの方法は文字列自体を変更することもなく、基本タイプの文字列値だけを返します. slice()とsubstr()の方法における負の値は右から切り取ることを表し、他の方法における負の値はすべて0として処理される.
str.indexOf(search String、startIndex):サブ文字列の最初の出現の位置を返して、startIndexから探し始めて、探し出せない時は-1に戻ります.
str.lastIndexOf(search String、startIndex):右から左へサブ文字列を検索します.見つけられない時は-1に戻ります.
toUpperCase():すべての文字列を大文字に変換するtoLowerCase():すべての文字列を小文字に変換します.
str.replace(rgExp/substr,replace Text):置換後の文字列を返します.
str.co ncat(str 1,str 2)
str.trim():文字列の前後のスペースを削除します.
match():1つのパラメータしか受け入れられません.文字列またはRegExpオブジェクトによって指定された正規表現search():1つのパラメータしか受け付けません.文字列またはRegExpオブジェクトによって指定された正規表現です.
searchメソッドは、文字列の最初のマッチする項目のインデックスを返します.マッチしていない場合は、-1を返します.
str.locale Compare(str 1):2つの文字列を比較します. 文字列が文字列パラメータの前に並べば、負の値 を返します.文字列が文字列パラメータに等しい場合、0 を返します.文字列が文字列パラメータの後に並べば、正数 を返します.
str.from CharCode(文字コード):1つ以上の文字コードを受信し、文字列に変換します.
from CharCode方法はStringコンストラクタの静的な方法である.
例1:マッチする文字列の位置を見つけます.
文字の方法:
charAt(index)&charCodeAt(index)
定義:指定された索引の文字/unicodeコードを返します.
var str="hello world";
console.log(str.charAt(1));//e
console.log(str.charCodeAt(1));//101
//
console.log(str[1]);//e
文字列の方法:1.スプリット()-文字列を配列に分割する
定義:1つの文字列を文字列配列に分割します.文法:str.splitパラメータ:seperator(オプション)、文字列または正則limitを指定して、配列の最大長さを指定します.
var myStr = "I,Love,You,Do,you,love,me";
var substrArray = myStr.split(",");
// ["I", "Love", "You", "Do", "you", "love", "me"];
var arrayLimited = myStr.split(",", 3);
// ["I", "Love", "You"];
2.文字列の切り取りstr.substring(start,end):両パラメータは正数で、戻り値:「start,end」つまりstartからend-1までの文字を返します.
str.slice(start,end):2つのパラメータは正の負の値ができます.負の値は右から切り取り、戻りの値を表します.つまり、startからend-1までの文字を返します.
str.substr(start,length):startパラメータは正負、負は右から切り取ります.
注:
var str="hello world";
console.log(str.slice(3));//lo world
console.log(str.substring(3));//lo world
console.log(str.substr(3));//lo world
console.log(str.slice(3,7));//lo w 7
console.log(str.substring(3,7));//lo w
console.log(str.substr(3,7));//lo worl 7 7
console.log(str.slice(3,-4));//lo w -4+11=7
console.log(str.substring(3,-4));//hel console.log(str.substring(3,0));
// , , console.log(str.substring(0,3));
console.log(str.substr(3,-4));//""
console.log(str.substring(3,0)); //hel
3.文字列の検索str.indexOf(search String、startIndex):サブ文字列の最初の出現の位置を返して、startIndexから探し始めて、探し出せない時は-1に戻ります.
str.lastIndexOf(search String、startIndex):右から左へサブ文字列を検索します.見つけられない時は-1に戻ります.
var str="hello world";
console.log(str.indexOf("o")); //4
console.log(str.lastIndexOf("o")); //7
console.log(str.indexOf("o",6)); //7
console.log(str.lastIndexOf("o",6)); //4
4.文字列の大文字小文字変換toUpperCase():すべての文字列を大文字に変換するtoLowerCase():すべての文字列を小文字に変換します.
var str="HELLO world";
console.log(str.toLowerCase()); //hello world
console.log(str.toUpperCase()); //HELLO WORLD
5.文字列置換str.replace(rgExp/substr,replace Text):置換後の文字列を返します.
var str="cat,bat,sat,fat";
var res=str.replace("at","one");// ,
console.log(res);//cone,bat,sat,fat
var res1=str.replace(/at/g,"one");// ,
console.log(res1);//cone,bone,sone,fone
6.文字列スティッチングstr.co ncat(str 1,str 2)
var str="hello ";
var res=str.concat("world");
console.log(res); //hello world
console.log(str); //hello
var res1=str.concat("nihao","!");
console.log(res1); //hello nihao! concat
// concat , +,
7.文字列の先頭のスペースを削除します.str.trim():文字列の前後のスペースを削除します.
var str=" hello world ";
console.log('('+str.trim()+')'); //(hello world)
console.log('('+str+')'); //( hello world )
8.文字列パターンマッチングmatch():1つのパラメータしか受け入れられません.文字列またはRegExpオブジェクトによって指定された正規表現search():1つのパラメータしか受け付けません.文字列またはRegExpオブジェクトによって指定された正規表現です.
searchメソッドは、文字列の最初のマッチする項目のインデックスを返します.マッチしていない場合は、-1を返します.
var str="cat,bat,sat,fat";
var pattern=/.at/;
var matches=str.match(pattern);
console.log(matches.index);//0
console.log(matches[0]);//cat
console.log(pattern.lastIndex);//0
//lastIndex , 0
var pos=str.search(/at/);
console.log(pos);//1 1 at
9.文字列の比較str.locale Compare(str 1):2つの文字列を比較します.
var str="yellow";
console.log(str.localeCompare("brick")); //1
console.log(str.localeCompare("yellow")); //0
console.log(str.localeCompare("zoo")); //-1
10.from CharCodeの方法str.from CharCode(文字コード):1つ以上の文字コードを受信し、文字列に変換します.
from CharCode方法はStringコンストラクタの静的な方法である.
console.log(String.fromCharCode(104,101,108,108,111));//hello
総合例例1:マッチする文字列の位置を見つけます.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title> </title>
</head>
<body>
<script type="text/javascript">
/* */
var str="asadajhjkadaaasdasdasdasd";
var position=[];
var pos=str.indexOf("d");
while(pos>-1){
position.push(pos);
pos=str.indexOf("d",pos+1);
}
console.log(position);//[3, 10, 15, 18, 21, 24]
</script>
</body>
</html>
例2:文字列の削除<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title> </title>
</head>
<body>
<script type="text/javascript">
//String.split() Array.join
//split() 。
//join
// ("") separator, stringObject 。
var str="aahhgggsssjjj";// ,
function unique(msg){
var res=[];
var arr=msg.split("");
//console.log(arr);
for(var i=0;i<arr.length;i++){
if(res.indexOf(arr[i])==-1){
res.push(arr[i]);
}
}
return res.join("");
}
console.log(unique(str));//ahgsj
</script>
</body>
</html>
例3:文字列に登場する文字の数を判断する<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title> </title>
</head>
<body>
<script type="text/javascript">
/*
1.
2. for , , count++, count sum , count 0
3. sum
*/
var str="aacccbbeeeddd";
var sum=[];
var res=[];
var count=0;
var arr=str.split("");
for(var i=0;i<arr.length;i++){
if(res.indexOf(arr[i])==-1){
res.push(arr[i]);
}
}
for(var i=0;i<res.length;i++){
for(var j=0;j<arr.length;j++){
if(arr[j]==res[i]){
count++;
}
}
sum.push(count);
count=0;
}
console.log(res);//["a", "c", "b", "e", "d"]
for(var i=0;i<res.length;i++){
var str=(sum[i]%2==0)?" ":" ";
console.log(res[i]+" "+sum[i]+" ");
console.log(res[i]+" "+str+" ");
}
</script>
</body>
</html>
アリ面接-文字列操作<script type="text/javascript">
var str = "www.taobao.com";
var res = str.split("").reverse().join("").replace('oat','');
console.log(res);//moc.oab.www
</script>
添付参考リンク:https://www.jb51.net/article/97915.htm