vue变量替换为特定值之后总是变成之前的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue变量替换为特定值之后总是变成之前的值相关的知识,希望对你有一定的参考价值。

参考技术A 可能是没有绑定特定值的原因。
Vue引入sync修饰语用于修饰vbind,使之成为双向绑定。这同样是语法糖,添加了sync修饰的数据绑定会像vmodel一样自动注册事件处理函数来对被绑定的数据进行赋值。这种方式同样要求子组件触发特定的事件。
变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的,但在纯函数式语言中,变量可能是不可变的。

用 R 变量的值替换字符串的特定部分

【中文标题】用 R 变量的值替换字符串的特定部分【英文标题】:replace a specific part of a string with the value of a variable with R 【发布时间】:2022-01-03 04:57:27 【问题描述】:

您好,我有一个 URL 字符串,但我需要将字符串的特定部分替换为变量

这是我的代码

todays_date <- as.character(Sys.Date())


   URL <- "https://api.performancehorizon.com/reporting/export/export/click.csv?start_date=2021-11-23+00%3A00%3A00&end_date=2021-11-24+00%3A00%3A00&campaign_id=1011l3888&convert_currency=USD&ref_conversion_metric_id%5B%5D=2"

我需要将此时显示 end_date 的日期更改为 2021-11-23 到变量 todays_date 的任何值,在这种情况下是 sysdate (11/24/2021) 所以最后的字符串应该是

"https://api.performancehorizon.com/reporting/export/export/click.csv?start_date=2021-11-23+00%3A00%3A00&end_date=2021-11-24+00%3A00%3A00&campaign_id=1011l3888&convert_currency=USD&ref_conversion_metric_id%5B%5D=2"

我想变量所在的地方应该有一个通配符。

谢谢

【问题讨论】:

【参考方案1】:

glue 包在这种情况下会很有帮助。请注意,我在您的 URL 字符串中添加了 todays_date

todays_date <- as.character(Sys.Date())

URL <- "https://api.performancehorizon.com/reporting/export/export/click.csv?start_date=2021-11-23+00%3A00%3A00&end_date=todays_date+00%3A00%3A00&campaign_id=1011l3888&convert_currency=USD&ref_conversion_metric_id%5B%5D=2"

library(glue)
glue(URL)

当然,您也可以简单地将 URL 和paste 重新组合在一起。

URL_1 <- "https://api.performancehorizon.com/reporting/export/export/click.csv?start_date=2021-11-23+00%3A00%3A00&end_date="
URL_2 <- "+00%3A00%3A00&campaign_id=1011l3888&convert_currency=USD&ref_conversion_metric_id%5B%5D=2"

paste0(URL_1, todays_date, URL_2)

【讨论】:

这行得通,我喜欢你可以说“嘿,这就是它的去向”,但有没有一种方法可以做到这一点而无需破坏 URL,只需一次完成 @JuanLozano 一次传球是什么意思?就像不必在glue 语句中那样放入变量?或者不必在paste0 中拆分 URL?这可能是最简单的两种方法。 不必拆分网址 如果你想像这样使用paste(),那么你需要拆分它。 glue 解决方案让您无需破坏 URL,只需替换值即可。 这改变了问题,以便有效地回答不同的问题。另一个答案确实直接回答了这个问题。【参考方案2】:

我们可能会使用str_replace

library(stringr)
str_replace(URL, "(?<=end_date\\=)\\d4-\\d2-\\d2", todays_date)

【讨论】:

以上是关于vue变量替换为特定值之后总是变成之前的值的主要内容,如果未能解决你的问题,请参考以下文章

如何将 R 会话中的值替换为 SQL 绑定变量占位符?

环境变量名称不会被气流 DAG 中的值替换 [重复]

shell变量的替换,命令的替换,转义字符

如何在sed中使用变量

27Java并发性和多线程-CAS(比较和替换)

R:用第二个列表元素的值替换一个列表元素的值