var str="Hello World!";
var patt=/\x57/g;
var matched = str.match(patt);
document.write(matched.strike());
問題があるようですmatched.strike()
。matched
それだけで動作します。なぜ?
var str="Hello World!";
var patt=/\x57/g;
var matched = str.match(patt);
document.write(matched.strike());
問題があるようですmatched.strike()
。matched
それだけで動作します。なぜ?
この.strike()
メソッドは文字列を操作しmatched
、配列です。正しい出力を表示するには、最初の一致を逆参照する必要があります。
var str="Hello World!";
var patt=/\x57/g;
var matched = str.match(patt);
// Access first element of the matched array
document.write(matched[0].strike());
// Or via .pop() or .shift()
document.write(matched.pop().strike());
// or
document.write(matched.shift().strike());
// either returns "<strike>W</strike>"
このString.strike()
メソッドは非標準であり、ブラウザの完全なサポートに依存するべきではありません。
(非常に古い)strike
メソッドはString
メソッドです。メソッドを知らないをRegExp.match
返します。Array
strike
コードは次のように書き直すことができます。
var str = 'Hello World'.replace(/\x57/g,function(s){return s.strike();});
//=> Hello <strike>W</strike>orld