Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我不使用';我不知道他们的立场_Javascript_String_Indexing - Fatal编程技术网

Javascript 当我不使用';我不知道他们的立场

Javascript 当我不使用';我不知道他们的立场,javascript,string,indexing,Javascript,String,Indexing,我有以下案文: 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 如何删除大写字母的文本 请注意“:”之后和换行之前的部分不是大写的,而是文本的一部分,所以我不能说删除所有大写的文本 还要注意的是,我不知道要删除的文

我有以下案文:

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”)
获取结尾。问题是在“特殊文本”之后换行,而不是其他

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

任何帮助都将不胜感激。

var text=“诸如此类的特殊文本:它的一部分\n诸如此类的特殊文本:仍然是它的一部分\n诸如此类的
var arr=text.split(“\n”);
var newArray=arr.map(函数(项){
if(项目索引(“特殊文本”)!=-1){
返回item.substring(0,item.indexOf(“特殊文本”);
}否则{
退货项目
}
});
text=newArray.join(“\n”);
警报(文本)
var text=“诸如此类的特殊文本:它的一部分\n诸如此类的特殊文本:仍然是它的一部分\n诸如此类的
var arr=text.split(“\n”);
var newArray=arr.map(函数(项){
if(项目索引(“特殊文本”)!=-1){
返回item.substring(0,item.indexOf(“特殊文本”);
}否则{
退货项目
}
});
text=newArray.join(“\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,'')

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

这个正则表达式怎么样

("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,'')
这基本上意味着替换任何以
特殊文本开头的字符串片段:
,后跟一些字符(
+
),并以行尾(
$
)结尾。单独检查所有行,而不是一次检查整个字符串(
m
),并且在第一次替换后不要停止(
g

尝试正则表达式:

var str=“诸如此类的特殊文本:它的一部分\nblah-bah特殊文本:仍然是它的一部分\nblah-Blah-Blah-Blah-Blah”
log(str.replace(/SPECIAL.*$/gm,'))
/*
废话连篇
废话
废话废话
*/
试试正则表达式:

var str=“诸如此类的特殊文本:它的一部分\nblah-bah特殊文本:仍然是它的一部分\nblah-Blah-Blah-Blah-Blah”
log(str.replace(/SPECIAL.*$/gm,'))
/*
废话连篇
废话
废话废话


*/
尝试使用
split(/regex/)
在我回答你的问题之前,告诉我:你想从
特殊文本中删除:
EOL
(行尾)对吗?是的,在行尾后不要松开其他文本和:
特殊文本:
字符串
“特殊文本:
或一类具有特殊形式的字符串(例如,所有大写字母)尝试使用
split(/regex/)
在我回答你的问题之前,告诉我:你想从
特殊文本中删除:
下线(行尾)对吗?是的,行尾后不要松开其他文本和:Is
特殊文本:
字符串
特殊文本:
或一类具有特殊形式的字符串(例如,所有大写字母)的其他部分如何?它将得到lostSweet。非常感谢其他部分如何?它将得到lostSweet。非常感谢
替换()
只替换一个子字符串。但有两个子字符串我真的很喜欢你的方法。简单明了。谢谢。我已经思考了一段时间了。什么样的标记?你的示例中没有任何标记。
replace()
只替换了一个子字符串。但是有两个子字符串。我真的很喜欢你的方法。简单而直接。谢谢。我已经思考了一段时间了。什么样的标记?在你的示例中没有任何标记。很好,但它松开了换行符mm,我可以实现和方法,一旦元素与要换行的字符串不相等k行,reduce在这种情况下应该是一个更好的方法很好,但是它松开了换行符shmm,我可以实现和方法,一旦元素不等于要换行的字符串,reduce在这种情况下应该是一个更好的方法