问题标签 [string-substitution]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R 简化 gsub() 以从更长的字符串中生成样本名称
我有一个样本名称列表
需要简化为
我已经尝试过 gsub() 的以下用法,但我正在尝试简化解决方案。
有什么建议么?
python - PostgreSQL:从 SQL 复制到特定列
COPY FROM
在上午的大部分时间里,我一直在试图弄清楚如何格式化SQL 语句,我需要帮助。
我正在尝试将 ASCII 文本文件中的数据导入我的 Postgres 数据库中的表。我认为它不喜欢我指定输入 ASCII 文件的方式。我尝试了两个文件路径都没有运气:
这是我用来访问数据库的脚本:
当我在 python 控制台中单步执行脚本时,尝试运行该cur.execute(sql)
行时出现以下错误:
我是否正确地将我的字符串替换为我的 SQL 语句?
regex - 正则表达式 :: 复杂替换
我试图在我的解决方案中“美化”某种类型的数字对象。这种特定类型具有以下可能的表示形式,以及它们的漂亮表示形式:
基本上,该类型由 5 位数字表示FieldA
,7 位数字表示FieldB
和一个可选数字表示 a CheckDigit
。使用以下正则表达式/替换模式:
... 结果是:
是否可以仅使用正则表达式/替换对来纠正第一个表示?我可以通过使用两个不同的正则表达式来完成这项工作,但我想要一个比这更优雅的解决方案。一个使用单个正则表达式/替换对。
PS。我正在使用 Java 1.7。
python - python %s 字符串替换和“self”?
在 pyyaml 文档中查看此代码,为什么"Dice(%s,%s)" % self
有效?有两个%s
但只有一个 var self
?
http://pyyaml.org/wiki/PyYAMLDocumentation#Constructorsrepresentersresolvers
bash - 在 bash 中从 xargs {} 中去除字符
假设我有名为"*.data.done"
. 现在我想将它们(递归地)重命名为“* .data”,然后是那些包含"pattern"
所以我们开始:
好吧,这种“.done”的剥离不起作用(bash 4.3.11):
我怎样才能做到这一点最简单的方法?
bash - 当我匹配特定列时使用 gsub
我有一个包含 DNA 碱基序列表的原始文件,带有行和列标签,以及一个单独的“位置”文件,其中列出了列标签的子集。我需要处理原始文件,对位置文件标识的列中的值执行转换。
示例原始文件:
位置文件示例:
在每个选定的字段上,我需要执行这些翻译:
因此,通过基于提供的位置文件处理示例原始文件获得的输出将是:
因此第一行未修改,在随后的每一行中,对应于列标签pos1
、pos3
、pos6
和pos7
的字段都进行了转换,而其他字段保持不变。
我知道如何使用awk
applygsub()
来修改整个输入行或专门修改第 n个字段,但我只需要修改位置文件中列出的那些字段,由数据文件第一行上的列标签标识。我怎样才能实现awk
呢?
python - python中的级联字符串插值
给定一个格式字符串字典,我想做级联/递归字符串插值。
我从这个实现开始:
该interpolate()
函数首先选择格式字符串。然后,它替换字符串,直到不再有格式字符串。
当我使用以下 Python 字典调用此函数时,我得到:
结果没问题,但是这个实现没有检测到参考周期。
例如,以下调用导致无限循环!
谁能给我一个更好的实现?
编辑:解决方案
我认为 Leon 的解决方案既好又简单,Serge Bellesta 也是如此。
我会这样实现它:
c++ - 使用 ostream 左移语法替换 printf 样式调用的正则表达式
我们的 C++ 项目的日志记录工具即将重构为使用重复的左移运算符(以 QtqDebug()
语法的方式)而不是 printf 样式的可变参数函数。
假设日志记录对象被调用logger
。假设我们要显示我们连接的服务器的 ip 和端口。在当前的实现中,用法是:
重构后,上述调用将变为:
手动替换所有这些调用将非常繁琐且容易出错,所以很自然地,我想使用正则表达式。作为第一遍,我可以替换.logf(...)
调用,产生
但是,将此字符串重新格式化为左移语法是我遇到问题的地方。我设法创建了单独的正则表达式来捕获printf 占位符和逗号分隔的参数。但是,我不知道如何正确地将两者关联起来。
为了避免重复相当笨拙的正则表达式,我将使用占位符(printf)
来引用printf 占位符正则表达式(返回命名的 group token
),并(args)
引用逗号分隔的参数正则表达式(返回命名的 group arg
)。下面,我将给出应用于上述行相关部分的各种尝试的输出,即:
/(printf)(args)/g
不产生匹配。/(printf)*(args)/g
产生两个匹配,包含ip
和port
在命名组中arg
(但没有在token
)。/(printf)(args)*/g
得到相反的结果:它产生两个匹配,在命名的 group中包含%s
和,但在.%d
token
arg
/(printf)*(args)*/g
返回 3 个匹配项:前两个包含%s
和%d
intoken
,第三个包含port
inarg
。但是,regexp101 报告“20 个匹配项 - 207 个步骤”并且似乎在每个字符之前都匹配。我想也许我需要指定第一个捕获组总是在双引号之间。但是,既不
/"(printf)"(args)/g
也不/"(printf)(args)/g
产生任何匹配。/(printf)"(args)/g
产生一个(不正确的)匹配,包含%d
in grouptoken
和ip
inarg
,并且替换会消耗这两个字符串之间的整个字符串(因此输入#
替换字符串会导致"connected to %s:#, port
. 显然,这不是预期的结果,但它是我可以的唯一版本至少在一次比赛中获得两个命名组。
任何帮助是极大的赞赏。
编辑以纠正损坏的格式
java - 用于字符串替换的正则表达式
我有一个包含一些数据记录的文件,如下所示:
在每个条目中,我必须用脚本(java/python 或其他)替换这样的行:
^^<http://www.w3.org/2001/XMLSchema#float>
在数字末尾添加:
你能帮我一个帮助我替换的正则表达式吗?
实际正则表达式:
它只捕获pos#long> "1
太感谢了
python - 在python中用re.sub替换特定的命名组
我创建了一个正则表达式来查找像/places/:state/:city/whatever
这工作得很好:
打印{'city': 'NY', 'state': 'NY'}
。
如何处理日志文件以替换/places/NY/NY/other/stuff
为字符串"/places/:state/:city/other/stuff"
?我想了解有多少网址属于“城市类型”,而不关心这些地方具体是 ( NY
, NY
)。
简单的方法可能会失败:
将打印/places/:city/:state/other/stuff
,这是倒退!
感觉应该有某种使用方法,re.sub
但我看不到。