简体   繁体   English

使用正则表达式JavaScript从字符串中删除子字符串

[英]Removing substring from string using Regex javascript

I have a string in javascript like this: 我在javascript中有这样的字符串:

frmSearch=FeeType=RecordingSpend:LoginID=:PersonCalled=:FeeAmount=22.234567:Paid=

I want to remove :FeeAmount=22.234567 part from this string using Regex or string.replace . 我想使用Regexstring.replace从此字符串中删除:FeeAmount=22.234567部分。

It can be empty like this: 它可以是空的,如下所示:

frmSearch=FeeType=RecordingSpend:LoginID=:PersonCalled=:FeeAmount=:Paid=

or it can contain any value 或者它可以包含任何值

I tried this: 我尝试了这个:

var str= frmSearch.substr(frmSearch.indexOf(":FeeAmount"), frmSearch.indexOf(":Paid=")); var str = frmSearch.substr(frmSearch.indexOf(“:FeeAmount”),frmSearch.indexOf(“:Paid =”)));

How can I do it using regex? 我如何使用正则表达式呢?

var frmSearch = "FeeType=RecordingSpend:LoginID=:PersonCalled=:FeeAmount=22.234567:Paid=";
frmSearch = frmSearch.replace(/(^|:)FeeAmount=[^:]*/,'$1FeeAmount=');

...will leave FeeAmount= in the string. ...将在字符串中保留FeeAmount= To remove it completely: 要完全删除它:

frmSearch = frmSearch.replace(/(^|:)FeeAmount=[^:]*/,'');

How about this? 这个怎么样?

var input = 'frmSearch=FeeType=RecordingSpend:LoginID=:PersonCalled=:FeeAmount=22.234567:Paid=';
var output = input.replace(/:FeeAmount=[0-9.]*/, '');

根据问题,匹配的正则表达式规则可以是

':FeeAmount=[^:]*'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM