この記事では、Javascriptでstringsを使用する一般的な方法を主に紹介します。非常に良い基準値を持っています。エディターと一緒に見てみましょう
ちょうど Javascript Rhino の本を読んでいて、文字列に関するセクションを目にしました。私は日常の仕事でこの側面にあまり触れることがないので、念のため整理しておきたいと思いました。私はそれが必要です。
JavaScript の組み込み関数の 1 つは、文字列の連結です。「+」を使用して 2 つの数値を接続すると、2 つの数値を加算することになります。ただし、文字列で使用すると、最初の文字の後に 2 番目の文字が追加されることを意味します。
var num=1+2; console.log(num); var msg='hello'+'world'; console.log(msg);
文字列の場合、length属性に加えて、次のような他の多くの便利な属性があります:
var str='hello,world'; console.log(str.length); console.log(str.charAt(0)); //第一个字符 console.log(str.charAt(str.length-1)); // 最后一个字符 //substring(starti,endi), 截取 字符串 起始startistartii, 到endi结束,且含头不含尾,没有 // 如果第二个参数没有, 就默认截取到最后一个。 console.log(str.substring(1,4)); console.log(str.substring(1)); //用法同上,为负数时,就是倒数开始算,一个参数含义是倒数几个。 console.log(str.slice(1,4)); console.log(str.slice(-3)); //字符‘l'首次出现的位置 console.log(str.indexOf('l')); //字符‘l'最后一次出现的位置 console.log(str.lastIndexOf('l')); //在位置下标3之后,首次出现的位置 console.log(str.indexOf('l',3)); //用‘,'分割为字符串 console.log(str.split(',')); // 把str中的小写h换成大写H console.log(str.replace('h','H')); //讲字符串转化为大写 console.log(str.toUpperCase());
ヒント: 文字列自体はJavaScriptで固定されており、上記のメソッドは新しい属性を返します文字列値は str 自体の値には影響しません
ES6 では、次のような多くの新しいメソッドが文字列に追加されることに注意してください:
var s = 'Hello world!'; // 返回布尔值,表示参数字符串是否在源字符串中的头部 console.log(s.startsWith('Hello')) // true //endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部 console.log(s.endsWith('!')) // true // includes()返回布尔值,表示是否找到了参数字符串 console.log(s.includes('o')) // true
上記の 3 つのメソッドはすべて、位置を示す 3 番目の 2 つのパラメータをサポートしています var s = 'Hello world!';
console.log(s.startsWith('world', 6)) // true
console.log(s.endsWith('Hello', 5))// true
console.log(s.includes('Hello', 6)) // false
を開始するには search ヒント: endsWith の動作は、他の 2 つのメソッドとは異なります。これは最初の n 文字を対象としますが、他の 2 つのメソッドは n 番目の位置から文字列の末尾までを対象とします。
repeat メソッドは新しい文字列を返します。これは、元の文字列を n 回繰り返すことを意味します。
console.log('x'.repeat(3)) // "xxx" console.log('hello'.repeat(2)) // "hellohello" console.log('na'.repeat(0)) // ""
パラメータが小数の場合は四捨五入されます。
console.log('na'.repeat(2.9)) // "nana" //如果repeat的参数是负数或者Infinity,会报错。 console.log('na'.repeat(Infinity)) // RangeError console.log('na'.repeat(-1)) // RangeError
ただし、パラメータが 0 から -1 までの小数の場合は、丸め演算が最初に実行されるため、0 と同等になります。 0 から -1 までの小数点は四捨五入後の -0 となり、繰り返しは 0 とみなされます。
console.log('na'.repeat(-0.9)) // "" //参数NaN等同于0 console.log('na'.repeat(NaN)) // " //如果repeat的参数是字符串,则会先转换成数字 console.log('na'.repeat('na')) // "" console.log('na'.repeat('3')) // "nanana"
ES2017では文字列補完長の機能が導入されました。文字列の長さが足りない場合は、先頭または末尾で完成します。 PadStart() は先頭の補完に使用され、padEnd() は末尾の補完に使用されます
//padStart和padEnd一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。 console.log('x'.padStart(5, 'ab')) // 'ababx' console.log('x'.padStart(4, 'ab')) // 'abax' console.log('x'.padEnd(5, 'ab')) // 'xabab' console.log('x'.padEnd(4, 'ab')) // 'xaba' //如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。 console.log('xxx'.padStart(2, 'ab')) // 'xxx' console.log('xxx'.padEnd(2, 'ab')) // 'xxx' //如果用来补全的字符串与原字符串,两者的长度之和超过了指定的最小长度,则会截去超出位数的补全字符串。 consoe.log('abc'.padStart(10, '0123456789')) // '0123456abc' //如果省略第二个参数,默认使用空格补全长度。 console.log('x'.padStart(4)) // ' x' console.log('x'.padEnd(4)) // 'x ' //padStart的常见用途是为数值补全指定位数。下面代码生成10位的数值字符串。 console.log('1'.padStart(10, '0') )// "0000000001" console.log('12'.padStart(10, '0')) // "0000000012" console.log('123456'.padStart(10, '0')) // "0000123456" //另一个用途是提示字符串格式。 console.log('12'.padStart(10, 'YYYY-MM-DD')) // "YYYY-MM-12" console.log('09-12'.padStart(10, 'YYYY-MM-DD'))// "YYYY-09-12"
以上がJavascript でよく使用される文字列の使用方法のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。