【问题标题】:Cut and replace in javascript string在javascript字符串中剪切和替换
【发布时间】:2013-10-21 17:24:50
【问题描述】:

我得到以下字符串:

"14-10-2013 03:04"

我想要一个函数,用现在“14”所在的部分替换“10”所在的部分。我该怎么做?我知道有类似 split 之类的东西,但我对此不太熟悉。

到目前为止:

var string = '14-10-2013 03:04';
var firstPart = string.split("-", 1);
alert(firstPart);

但我不知道如何在变量中获取第二部分('10')。

【问题讨论】:

  • 向我们展示您的尝试。你的预期输出是什么?
  • 更新了主帖。

标签: javascript string replace split cut


【解决方案1】:

对于特定的字符串格式(将"xx-yy-..." 转换为"yy-xx-..."),只需简单的替换即可:

"14-10-2013 03:04".replace(/(\d\d)-(\d\d)/,"$2-$1")

解释:

正则表达式/(\d\d)-(\d\d)/ 匹配两位数字,后跟一个破折号,再跟两位数字。括号表示可以在第二个参数中引用的捕获组。在这种情况下,对于字符串“14-10-2013 03:04”,子字符串“14-10”匹配正则表达式,捕获的两个文本是“14”和“10”。

在第二个参数中,使用$1$2、...来指定应在何处插入捕获的文本。在这种情况下,"$2-$1" 将写入第二个捕获的文本 (14),然后是破折号,然后是第一个捕获的文本 (10)。

有关详细信息,请参阅MDN Documentation on String.prototype.replace

【讨论】:

  • @Nirk 你能编辑你的答案并对你使用的正则表达式给出一点解释吗?这对其他初学者(比如我 :))以及如果他们将来会针对类似问题提及此问题会有所帮助
  • @UDB 我编辑了我的答案。如果有不清楚的地方请告诉我
  • @Nirk 感谢您的编辑和解释,现在解决方案对我来说更清楚了。
猜你喜欢
  • 1970-01-01
  • 2016-09-28
  • 1970-01-01
  • 2013-06-25
  • 1970-01-01
  • 2018-12-04
  • 1970-01-01
  • 2020-09-07
  • 2019-07-30
相关资源
最近更新 更多