【问题标题】:How to replace text in js without the spaces affecting the process如何在不影响进程的空格的情况下替换js中的文本
【发布时间】: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# 中更需要它)

【问题讨论】:

  • 我的回答对你有帮助吗?
  • 不,这不是我想要的

标签: javascript c# php regex


【解决方案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 请更好地解释您的需求
  • 重新加载您的页面
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多