我有这个字符串
"ABC-2341241244 | tb1 | value | tb2 | value | tb10 | value"
我可以使用正则表达式进行替换,例如'| tb2 | value '
与''
进行替换,
"ABC-2341241244 | tb1 | value | tb10 | value"
我知道值tbxx
是我的变量。
正则表达式引擎是javascript,而不是.Net或C#。
答案 0 :(得分:3)
确切的语法取决于您使用的语言,但您需要转义|
字符,因为它在正则表达式中具有特殊含义。
在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 ", "");
答案 1 :(得分:0)
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);
修改强>
添加了deletePair
,您可以在其中指定要删除的key | val
表示中的键
答案 2 :(得分:0)
您没有足够的信息来获得通用解决方案[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
个标识符吗?