簡體   English   中英

在javascript中使用正則表達式剪切子字符串

[英]Using regex in javascript to cut out substring

有一些弦

"string numbe1 fdsf gfdgfdgf (value1)"
"string numbe2 fdsf gfdgfdgf (value2)"
"string numbe3 fdsf gfdgfdgf (value3)"
"string numbe5 fdsf gfdgfdgf (value1)"
"string numbe5 fdsf gfdgfdgf (value2)"

(valueN)可以是(value1)(value2)(value3) 我需要使用javascript正則表達式將其從原始字符串中刪除。 因此,newString必須是string numbe1 fdsf gfdgfdgf

這是我所做的(並且無法正常運行)

var newString = originalString.replace(/(value1)|(value2)|(value3)/g,"") ;

返回"1 ()"

我該如何解決?

您需要轉義括號,並且有一個額外的. 就在replace之前

"string numbe5 fdsf gfdgfdgf (value2)".replace(/\(value[1-3]\)/, '')

嘗試使用

var newString = originalString.replace(/\\(value\\d\\)/g,"") ;

請嘗試以下操作:

> var s = "string numbe1 fdsf gfdgfdgf (value1)";
> s.replace(/^(.*) \(value[1-3]\)$/, '$1');
"string numbe1 fdsf gfdgfdgf"

我會用這個正則表達式:

"string numbe5 fdsf gfdgfdgf (value2)".replace(/ \(value[123]\)/, '')

並非完全可擴展,但是如果您的字符串格式始終相同,則可以執行以下操作:

var str = "string numbe1 fdsf gfdgfdgf (value1)";
str = str.slice(0, str.length-8));​

代碼有誤,請使用下面給出的代碼

<script>
function myFunction()
{
var str="string numbe1 fdsf gfdgfdgf (value2)"; 
var n=str.replace(/(\(value1\)|\(value2\)|\(value3\))/g," ");
alert(n);
}
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM