[英]Regular expression to replace this string
我有這串
"ABC-2341241244 | tb1 | value | tb2 | value | tb10 | value"
我可以用正則表達式替換什么,例如'| tb2 | value '
'| tb2 | value '
'| tb2 | value '
與''
這個問題,
"ABC-2341241244 | tb1 | value | tb10 | value"
我知道值tbxx
是我擁有的變量。
Regex引擎是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);
編輯
新增deletePair
在其中可以指定哪些關鍵在你的key | val
您要刪除的key | val
表示形式
您沒有足夠的信息來尋求通用的解決方案[1]。 您的字符串是否保證是正常的?
聽起來您的數據格式正確-您應該以某種方式解析它:
蟒蛇:
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
標識符嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.