web-dev-qa-db-ja.com

特定の位置で文字列を置き換える方法

Javaスクリプトの特定の位置にある文字列の一部を置き換える方法はありますか。たとえば、時間列の0012に置き換えたいと思います。以下の文字列。substringは13から15になります。

Mar 16, 2010 00:00 AM 
14
Harish

以下は1つのオプションです。

var myString = "Mar 16, 2010 00:00 AM";

myString = myString.substring(0, 13) + 
           "12" + 
           myString.substring(15, myString.length);

これを使用して日付を操作する場合は、代わりに DateJS などの日付操作メソッドを使用することをお勧めします。

22
Daniel Vassallo

正規表現アプローチ

"Mar 16, 2010 00:00 AM".replace(/(.{13}).{2}/,"$112")
Mar 16, 2010 12:00 AM
6
YOU

1つのオプションは

>>> var test = "Mar 16, 2010 00:00 AM";
>>> test.replace(test.substring(13,15),"12")
3
AutomatedTester

常に時間単位で_00:_の場合、

_00:_を_12:_に置き換えることができます

replace()を使用して、

そうでない場合は、indexOf_:_文字を見つける必要があります。

次に、前の2桁を_12_に置き換えます。

3
Haim Evgi

Javascriptの文字列の indexOf() と一緒に replace() メソッドを直接使用できます。

1
Suraj Chandran

もう1つの独創的なアイデアは、配列spliceに変換し、それを文字列に戻すことです。

let str = "Mar 16, 2010 00:00 AM";
let arr = str.split("");
arr.splice(13,2,"1","2");
str = arr.join("");
0
Slavik Meltser