如何在JavaScript中从较大的字符串中删除一些字符串,当我不这样做的时候'我不知道他们的立场

How to get remove some string out of a larger string in JavaScript, when I don't know their positions

本文关键字:字符串 这样做 他们的 我不知道 JavaScript 删除      更新时间:2023-09-26

我有这样的文本:

Blah Blah Blah SPECIAL TEXT: PART OF IT
blah bah SPECIAL TEXT: STILL PART OF IT
blah blah blah blah

我如何使用JavaScript来获得这个结果:

Blah Blah Blah
blah bah
blah blah blah blah

如何删除大写字母的文本。

请注意,":"之后和换行符之前的部分不应该是大写的,但它是必须去掉的文本的一部分,所以我不能只说删除所有大写的文本。

还要注意的是,我不知道要删除的文本的确切起点和终点,我知道的是,当出现几个连续的大写字母并排键入时,它开始,当出现换行符时结束。

我试着用search("SPECIAL")得到前几个大写字母的索引,用search("'n")得到结尾。这个问题是在"特殊文本"之后换行,而不是其他。

最后,如果我得到了开始和结束的位置,我想我可以得到两个索引之间的任何字符串,用一个空字符串替换它们,并迭代这个过程。

任何帮助都将不胜感激。

这个正则表达式怎么样?

("Blah Blah Blah SPECIAL TEXT: PART OF IT'n" +
"blah bah SPECIAL TEXT: STILL PART OF IT'n" +
"blah blah blah blah").replace(/SPECIAL'sTEXT:.+$/mg,'')

这基本上意味着替换任何以SPECIAL TEXT:开头、后跟一些字符(.+(、以行尾($(结尾的字符串片段。单独检查所有行,而不是一次检查整个字符串(m(,并且在第一次替换(g(后不要停止

尝试正则表达式:

var str = "Blah Blah Blah SPECIAL TEXT: PART OF IT'nblah bah SPECIAL TEXT: STILL PART OF IT'nblah blah blah blah"
console.log(str.replace(/SPECIAL.*$/gm, ''))
/*
Blah Blah Blah
blah bah
blah blah blah blah
*/

SPECIAL:匹配"SPECIAL">
.*:匹配除'n以外的任何内容(换行(
$:匹配行的末尾
/g:多次匹配
/m:在每行的末尾匹配$,而不仅仅是字符串的末尾
'':不替换。

    var text = 'Blah Blah Blah SPECIAL TEXT: PART OF IT blah bah SPECIAL TEXT: STILL PART OF IT blah blah blah blah';  //save the text in a variable 
    var arr = text.split(" ")  /// make array with the words from the text
    arr = arr.filter(e => e=='Blah' || e=='blah') // filter the words
    arr = arr.join(' ')  // convert the array back to a string
Output: 'Blah Blah Blah blah blah blah blah blah'

var text = "Blah Blah Blah SPECIAL TEXT: PART OF IT'n blah bah SPECIAL TEXT: STILL PART OF IT'n blah blah blah blah"
var arr = text.split("'n");
var newArray = arr.map(function(item){
  if(item.indexOf("SPECIAL TEXT") !== -1){
    return item.substring(0, item.indexOf("SPECIAL TEXT"));
   } else {
     return item
     }
});
text = newArray.join("'n");
alert(text);

相关文章: