Javascript 替换此字符串的正则表达式
我有这根绳子Javascript 替换此字符串的正则表达式,javascript,regex,Javascript,Regex,我有这根绳子 "ABC-2341241244 | tb1 | value | tb2 | value | tb10 | value" 我可以用regex做些什么来替换,例如用'替换'替换' "ABC-2341241244 | tb1 | value | tb10 | value" 我知道值tbxx是一个变量 正则表达式引擎是javascript,而不是.Net或C#。确切的语法取决于您使用的语言,但您需要转义字符,因为它在正则表达式中具有特殊意义 在perl中,您可以执行以下操作: my $
"ABC-2341241244 | tb1 | value | tb2 | value | tb10 | value"
我可以用regex做些什么来替换,例如用'
替换'
替换'
"ABC-2341241244 | tb1 | value | tb10 | value"
我知道值tbxx
是一个变量
正则表达式引擎是javascript,而不是.Net或C#。确切的语法取决于您使用的语言,但您需要转义
字符,因为它在正则表达式中具有特殊意义
在perl中,您可以执行以下操作:
my $string = "ABC-2341241244 | tb1 | value | tb2 | value | tb10 | value";
$string =~ s/\| tb2 \| value //;
在java中,它将是:
String string = "ABC-2341241244 | tb1 | value | tb2 | value | tb10 | value";
string = string.replaceAll("\\| tb2 \\| value ", "");
javascript替换
var
deletePair = 'tb2',
strIn = "ABC-2341241244 | tb1 | value | tb2 | toDeletevalue | tb10 | value",
pattern = new RegExp("\\| " + deletePair + " \\| ([a-zA-Z0-9]+) ", "g"),
result = strIn.replace(pattern, '');
document.write(result === "ABC-2341241244 | tb1 | value | tb10 | value"
? 'ok'
: 'failed'
);
document.write('<br />' + result);
var
deletePair='tb2',
strIn=“ABC-2341244 | tb1 |值| tb2 | toDeletevalue | tb10 |值”,
pattern=newregexp(“\\\\\\”+deletePair+“\\\\\\\”([a-zA-Z0-9]+)”,“g”),
结果=标准替换(模式“”);
document.write(结果==“ABC-2341244 | tb1 |值| tb10 |值”
“好的”
:“失败”
);
文件。写入(“
”+结果);
编辑
添加了
deletePair
,其中指定了要删除的key | val
表示中的key,您没有足够的信息用于通用解决方案[1]。你的绳子保证是规则的吗
听起来您的数据格式良好-您应该以某种方式对其进行解析:
Python:
import csv
input = "ABC-2341241244 | tb1 | value | tb2 | value | tb10 | value"
parts = input.split("|")
r = csv.reader([input],delimiter='|')
parts = r.next()
try:
i = parts.index(" tb2 ")
parts = parts[0:i] + parts[i+2:]
except ValueError:
pass
print "|".join(parts)
印刷品:
ABC-2341241244 | tb1 | value | tb10 | value
[1] 您的分隔符是否为“|”?或者是
“|”
?您能否在数据中转义|
?您是否只在tbXX
标识符上搜索?什么正则表达式引擎。网?JAVAJavascript?PERL?这里真的需要正则表达式吗?纯字符串替换要简单得多。如果您事先知道确切的子字符串,那么简单的替换(…)将更容易:不需要正则表达式。这听起来是使用awk的好地方(如果可用)。正则表达式引擎-->javascript。我只知道'tbxx',我想删除与tb1关联的值,但我不知道我只知道介于| tbxx |和| tbxx2my之间的值的确切大小。我的分隔符是'|'。我想做你刚才做的事我怎么用javascript做呢?好的。。。但我的问题是,值不是“值”,可以有字母和数字OK。。。但我的问题是,值不是“值”,可以有字母和数字