【问题标题】:how to replace part of string with something else?如何用其他东西替换部分字符串?
【发布时间】:2017-01-11 18:28:06
【问题描述】:
var string='url("images/bgtr.svg") top right no-repeat, url("images/bgbl.svg") bottom left no-repeat, url("images/overlay.png"), linear-gradient(45deg, #5f796b, #3a4e59, #2f394e);'

如何用不同的字符替换linear-gradient(45deg, #5f796b, #3a4e59, #2f394e)?它可能并不总是“线性渐变”

【问题讨论】:

  • 不同的字符串是什么意思?
  • string.replace("linear-gradient(45deg, #5f796b, #3a4e59, #2f394e","something else"); 我看得出来你在问之前真的很努力。
  • var string 中是否有任何已知的字符串集可以代替linear-gradient
  • @RahulDesai 在var string 中看到的任何东西都在逗号之间,很可能是其他东西

标签: javascript regex string


【解决方案1】:

使用String.prototype.replace() - JavaScript | MDN

replace() 方法返回一个新字符串,其中模式的部分或全部匹配被替换。模式可以是字符串或正则表达式,替换可以是字符串或每次匹配调用的函数。

我假设test 是下面代码 sn-p 中的不同字符串

var string='url("images/bgtr.svg") top right no-repeat, url("images/bgbl.svg") bottom left no-repeat, url("images/overlay.png"), linear-gradient(45deg, #5f796b, #3a4e59, #2f394e);'

var replacedString = string.replace('linear-gradient(45deg, #5f796b, #3a4e59, #2f394e)', 'test');

console.log(replacedString);

【讨论】:

  • 正则表达式不够! 它可能并不总是“线性渐变”
  • @revo 这就是 OP 在问题中的内容。你怎么知道它可能并不总是“线性渐变”?
  • 如果它可能不是一直是 linear-gradient,那么这意味着它不是静态字符串,因此 replace 方法不应该将第一个参数作为静态模式接收.
  • String.replace 可以采用正则表达式,所以 lije:String.replace('[-\w]*\(\d+deg, #[a-z0-9]+, #[a-z0-9]+, #[a-z0-9]+\) ', 'blah')
  • 虽然...不完全确定您在做什么,但如果您尝试阅读网页/html 文档,您应该使用 HTML 解析器而不是正则表达式...stackoverflow.com/questions/1732348/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-09
  • 2020-12-04
  • 1970-01-01
相关资源
最近更新 更多