使用Javascript删除括号和文本

时间:2013-03-24 02:26:19

标签: javascript regex parsing replace

我有一个长字符串,有许多不同的括号/大括号/括号({{...}},{...},[...],[[...]],< ... >)有些人在其他人之内。

我想使用JS来删除这些括号以及它们内部的任何文本/ etc(除[[...]]之外不在其他括号内,在这种情况下我想只删除括号)。

以下是我正在使用的字符串类型的示例:

  

{{pp-move-indef}} {{Taxobox | name = Red panda | status = VU | status_system = iucn3.1 | status_ref = | image = RedPandaFullBody.JPG | regnum = [[动物]] ia | phylum = [[Chordate | Chordata]] | classis = [[哺乳动物]] ia | ordo = [[Carnivora]] | subordo = [[Caniformia]] | infraordo = [[Arctoidea]] | superfamilia = [[Musteloidea]] | familia = [[Ailuridae]] | genus = Ailurus | genus_authority = [[Frederic Cuvier | F. Cuvier],1825年|物种= A. fulgens |二项式= Ailurus fulgens | binomial_authority = [[Frederic Cuvier | F. Cuvier],1825年| range_map = Cypron-Range Ailurus fulgens.svg | range_map_caption =红熊猫系列| subdivision_ranks =亚种|细分= A. f。 fulgens
A. F。 styani}}

     

红熊猫(Ailurus fulgens,点燃“闪亮的猫”),是东部[[喜马拉雅山]]和西南[[中国]] {{IUCN]原生的小[[树栖]] [[哺乳动物]] |评估员= Wang,X.,Choudhry,A.,Yonzon,P.,Wozencraft,C.,Than Z。| year = 2008 | id = 714 | taxon = Ailurus fulgens | version = 2010.4 | downloaded = 26 June 2010}与[[raccoon]] s,[[臭鼬]] s和[[weasel]] s相关。它是Ailurus属和[[Ailuridae]]中唯一的现存物种。它略大于[[家猫]],它有红褐色的皮毛,长而粗糙的尾巴,以及由于前腿较短而蹒跚的步态。它主要以[[竹笋]]为主,但是[[杂食性]]也可以吃鸡蛋,[[鸟]],[[昆虫]]和小[[哺乳动物]] s。它是一种[[孤独动物]],主要是[夜间活动从黄昏到黎明]],并且在白天很大程度上[[久坐生活|久坐]]。

期望的结果

  

红熊猫(Ailurus fulgens,点燃“闪亮的猫”)是一种小型树栖哺乳动物,原产于喜马拉雅山东部和中国西南部,与浣熊,臭鼬和黄鼠狼有关。它是Ailurus属和Ailuridae科的唯一现存物种。它略大于家猫,它有红褐色的皮毛,长而粗糙的尾巴,以及由于前腿较短而蹒跚的步态。它主要以竹笋为食,但是是杂食性的,也可以吃鸡蛋,鸟类,昆虫和小型哺乳动物。它是一种孤独的动物,主要是夜间活动,从黄昏到黎明,主要是久坐不动的生活方式。

2 个答案:

答案 0 :(得分:3)

function removeBrackets(input) {
    return input
        .replace(/{.*?}/g, "")
        .replace(/\[.*?\]/g, "")
        .replace(/<.*?>/g, "")
        .replace(/\(.*?\)/g, "");
}

答案 1 :(得分:1)

注意:这是基于@Joseph Lennox的建议。

function removeBrackets(input) {
    return input
        .replace(/{+.*?}+/g, "")
        .replace(/\[\[|\]\]/g, "")
        .replace(/<.*?>/g, "");
}

... +让我们吸收{{和}}等等。