Javascript RegExp - 匹配字符串并替换
Javascript RegExp - Match String and Replace
我对RegExp很陌生。我想做的是:
我有这个原始查询条件。
var strQuery = "AND i.CreatedDate BETWEEN CAST('01/01/2014' AS Date) " +
"AND DATEADD(Day, 1, CAST('01/01/2015' AS DATE) ) " +
"AND e.User_ID IN (-1, 1234, 3433, 9999) " +
"AND i.STATUS IN ('Completed') AND o.Type IN ('Production') "
现在,查找字符串"e.User_ID IN (",然后将括号 () 之间的任何内容替换为新的 ID 字符串。例如。
var newUserIDs = "8888, 3333, 4444"
// After search and replace using RegExp.
var strQuery = "AND i.CreatedDate BETWEEN CAST('01/01/2014' AS Date) " +
"AND DATEADD(Day, 1, CAST('01/01/2015' AS DATE) ) " +
"AND e.User_ID IN (8888, 3333, 4444) " +
"AND i.STATUS IN ('Completed') AND o.Type IN ('Production') "
请帮忙。如果我不清楚,请告诉我,因为我是新手。提前谢谢。
使用正则表达式,它将是这样的:
var strQuery = "AND i.CreatedDate BETWEEN CAST('01/01/2014' AS Date) " +
"AND DATEADD(Day, 1, CAST('01/01/2015' AS DATE) ) " +
"AND e.User_ID IN (-1, 1234, 3433, 9999) " +
"AND i.STATUS IN ('Completed') AND o.Type IN ('Production') ";
var newUserIDs = "8888, 3333, 4444";
var newQuery = strQuery.replace(/User_ID IN '(['d, -]*')/,"User_ID IN (" + newUserIDs + ")");
alert(newQuery);
您正在搜索提示,后跟 0 或更多 [] 之间的任何字符,用括号括起来。
你可以像这样简单地连接。
var newUserIDs = "8888, 3333, 4444"
// After search and replace using RegExp.
var strQuery = "AND i.CreatedDate BETWEEN CAST('01/01/2014' AS Date) " +
"AND DATEADD(Day, 1, CAST('01/01/2015' AS DATE) ) " +
"AND e.User_ID IN (" + newUserIDs + ") " +
"AND i.STATUS IN ('Completed') AND o.Type IN ('Production') "
alert(strQuery);
毕竟它只是一个字符串。
相关文章:
- 从输入中获取字符串,并在AngularJS中发出AJAX请求
- 将鼠标悬停在字符串上并更新预览
- 在Javascript中查找子字符串,并前置/附加一些字符
- 需要使用Java编码/转义HTML字符串,并在JavaScript中解码HTML字符串
- 在光标位置的文本区域中插入一个字符串,并进行一些更改
- 字符串拆分并获取第一次和最后一次出现
- Javascript第n次出现一个字符串,并提取子字符串
- 通过AJAX发送jquery字符串,并使用PHP将其保存到html文件中
- Javascript将字符串分解并反转
- 正在按{0}、{1}拆分字符串..{n} 并替换为空字符串
- 替换字符串值并使用 JavaScript 保留部分替换字符串
- 按设置的数量拆分字符串,并为拆分分配变量
- 如何获取逗号delimated(拆分)字符串值并将其传递给控制器
- JavaScript 字符串替换并回发回粘贴上的 RadTextBox
- 如何遍历数组,随机输出两个字符串,并根据答案执行它们
- 提交表单时,检查文本框是否为某个字符串,并根据答案显示警报
- 在 javascript 中拆分 CSV 字符串,并带有额外的“,”
- 无法将 jquery 对象转换为字符串类型并将其传递给 asp 代码隐藏
- 在 JavaScript 中用多个分隔符拆分公式字符串,并保留分隔符,然后将字符串重新组合在一起
- 字符串比较并使用 jQuery 删除公共值