Javaスクリプトの特定の位置にある文字列の一部を置き換える方法はありますか。たとえば、時間列の00
を12
に置き換えたいと思います。以下の文字列。substring
は13から15になります。
Mar 16, 2010 00:00 AM
以下は1つのオプションです。
var myString = "Mar 16, 2010 00:00 AM";
myString = myString.substring(0, 13) +
"12" +
myString.substring(15, myString.length);
これを使用して日付を操作する場合は、代わりに DateJS などの日付操作メソッドを使用することをお勧めします。
正規表現アプローチ
"Mar 16, 2010 00:00 AM".replace(/(.{13}).{2}/,"$112")
Mar 16, 2010 12:00 AM
1つのオプションは
>>> var test = "Mar 16, 2010 00:00 AM";
>>> test.replace(test.substring(13,15),"12")
常に時間単位で_00:
_の場合、
_00:
_を_12:
_に置き換えることができます
replace()
を使用して、
そうでない場合は、indexOf
_:
_文字を見つける必要があります。
次に、前の2桁を_12
_に置き換えます。
もう1つの独創的なアイデアは、配列splice
に変換し、それを文字列に戻すことです。
let str = "Mar 16, 2010 00:00 AM";
let arr = str.split("");
arr.splice(13,2,"1","2");
str = arr.join("");