如何在不影响进程的空格的情况下替换js中的文本
Posted
技术标签:
【中文标题】如何在不影响进程的空格的情况下替换js中的文本【英文标题】:How to replace text in js without the spaces affecting the process 【发布时间】:2020-02-26 20:16:26 【问题描述】:我在 php 中有这段代码,它将用其他单词替换一些单词:
$Data1 = array("/Hello\s+there/i", "/I\s*m\s+Good!/i");
$Data2 = array("bye", "How are you?");
$data = preg_replace($Data1, $Data2, $data);
PHP 中的代码获取值 ($data) 并将 $Data1 数组中的所有单词替换为数组 $Data2 中的单词中的单词,而不考虑单词之间的空格 (\s+, \s*)。
像这样(TheOriginalText ==> TheNewText
):
Hello there!, something else ==> bye!, something else
Hello there !, something else ==> bye!, something else
Hello~there !, something else ==> Hello~there !, something else
对于 js,使用str.replace
会做到这一点(TheOriginalText ==> TheNewText
):
Hello there!, something else ==> bye!, something else
Hello there !, something else ==> Hello there !, something else
Hello~there !, something else ==> Hello~there !, something else
但我不希望空格影响替换过程。 我尝试在js中使用这段代码,但没有成功:
function Code(data)
var Code1 = [/Print/i, /Prin_/i, /New~Line/i];
var JSCode = ["document.write", "document.write('<br>\n');document.write", "document.write('<br>\n');"];
return data = str.replace(Code1, JSCode);
有没有其他代码可以在 js 和 c# 中使用数组来做同样的事情(很可能我在 js 中比在 c# 中更需要它)
【问题讨论】:
我的回答对你有帮助吗? 不,这不是我想要的 【参考方案1】:您可以将replace 用于 javascript:
var str = "Mr Blue has a blue house and a blue car";
var res = str.replace(/blue/gi, "red");
结果是:
Mr red has a red house and a red car.
【讨论】:
有什么办法可以替换文本而不影响进程的空格 @EnderAdel 请更好地解释您的需求 重新加载您的页面以上是关于如何在不影响进程的空格的情况下替换js中的文本的主要内容,如果未能解决你的问题,请参考以下文章
如何在不影响 heroku 服务器中的特定文件的情况下推送所有文件?
Selenium:如何在不调用 driver.quit() 的情况下停止影响 PC 内存的 geckodriver 进程?