如何使用 JavaScript 删除字符串的两个部分?
本教程教我们如何使用 JavaScript 删除字符串两个部分之间的文本部分,基本上,我们给出两个可以是字符串或字符的结尾,我们必须删除位于它们之间的字符串。
在本教程中,我们将使用正则表达式或 JavaScript Regex 来删除两个字符之间的文本。我们将使用 JavaScript 的 replace() 函数。
语法
让我们看看使用 JavaScript Regex 删除给定字符串的两个字符或子字符串之间的字符串部分的语法 -
var str; // 字符串声明 var final_str = str.replace( / (first_part) .* (second_part)/ , (first_part) + (second_part ));
在上述语法中,我们首先声明一个要进行更改的字符串,然后 final_str 将存储作为最终结果的字符串。我们将使用 JavaScript 正则表达式的 replace() 方法,在该方法中传递正则表达式 − '/ (first_part) .* (second_part)/'。此处 first_part 可以是字符串或字符。
注意 − 此处我们尝试在给定字符串中找到'first_part'的第一次出现,然后我们将在给定字符串中找到'second_part'的最后一次出现。然后,如果字符串中同时存在"first_part"和"second_part",并且它们之间有一些字符,我们将删除它们。
算法
我们已经看到了上面的语法来删除两个字符之间的字符串部分,现在我们将逐步查看完整的算法-
首先,我们将声明字符串并为其分配一些值。
然后我们将创建一个变量来存储最终结果的值。
我们将调用JavaScript正则表达式方法replace()并将正则表达式传递给它,但这里有一个问题,即replace()函数需要两个参数。
我们将找到包含我们的起始和结束字符串或字符的正则表达式,这意味着它们也是将替换为我们实际需要返回的中间字符串。
我们将传递第一个和最后一个字符串或字符作为组合字符串来替换给定的正则表达式。
这样,我们可以删除字符串两部分之间的字符串。
现在,让我们看看基于上述算法的示例 -
示例 1
在此示例中,我们将获取两个字符串并删除它们之间的中间字符串 -
<!DOCTYPE html> <html> <body> <script> var str = "ABCDEFGHIJABCDEFGHIJABCDEFGHIJ"; // declaration of the string var final_str = str.replace( /CD.*GH/ , 'CDGH'); document.write("Previous string was: " + str); document.write("<br>Final stirng is: " + final_str); </script> </body> </html>
在上面的例子中,我们删除了"CD"和"GH"之间的所有字符。在这里,我们替换了索引 2(0 基索引)到索引 27 的字符串,然后将其替换为"CDGH"以获得最终答案。
示例 2
在此示例中,我们将替换两个字符之间的所有字符,并且我们还将删除这些字符。
<!DOCTYPE html> <html> <body> <script> var str = "AB(CDEFGHIJABCDEFGHIJABCDEFGH)IJ"; // declaration of the string var final_str = str.replace(/ *\([^)]*\) */g, ""); document.write("Previous string was: " + str); document.write("<br>Final reuslt is: " + final_str) </script> </body> </html>
在上面的例子中,我们删除了括号之间的所有字符,包括括号本身。
结论
在本教程中,我们学习了如何删除字符串两部分之间的文本部分,基本上,我们给出了两个可以是字符串或字符的结尾,我们学习了如何删除位于它们之间的字符串。我们使用正则表达式或 JavaScript Regex 通过使用 replace() 函数删除两个字符之间的文本。