String 用于(到)的TCL字符串映射\(
如何做到这一点String 用于(到)的TCL字符串映射\(,string,replace,tcl,String,Replace,Tcl,如何做到这一点 puts [string map { ( ) "\(" "\)"} (3.8.001)] o\p我得到$tclsh main.tcl (3.8.001) 我在等你 \(3.8.001\) 请帮助我执行此操作您应该使用字符串映射,如下所示: puts [string map { ( ) "\(" "\)"} (3.8.001)] puts [string map { ( "\\(" ) "\\)"} (3.8.001)] 反斜杠必须使用两次,才能在Tcl中的双引号内使
puts [string map { ( ) "\(" "\)"} (3.8.001)]
o\p我得到$tclsh main.tcl
(3.8.001)
我在等你
\(3.8.001\)
请帮助我执行此操作您应该使用
字符串映射
,如下所示:
puts [string map { ( ) "\(" "\)"} (3.8.001)]
puts [string map { ( "\\(" ) "\\)"} (3.8.001)]
反斜杠必须使用两次,才能在Tcl中的双引号内使用一个反斜杠。您应该使用
字符串映射,如下所示:
puts [string map { ( "\\(" ) "\\)"} (3.8.001)]
反斜杠必须使用两次,以便在Tcl中的双引号中使用一个反斜杠。每当我对如何准确地编写包含反斜杠的复杂字符串映射感到困惑时,我会尝试使用list
构建映射列表。然后,我可能会使用它生成的文本,而不是让脚本继续n实际的list
命令调用,但这纯粹是对我的优化。(而且是一个非常低的值;如果list
的所有参数都是文本,字节码编译器会为我这样做。)在特别棘手的情况下,我将使用lappend
分阶段构建它,但这才是真正令人头痛的地方
此外,映射应该是“replaceawitha replacebwithb…”
”,您将)
和“\(“
”)按错误的顺序放置,结果根本不会起作用
set mapping [list "(" "\\(" ")" "\\)"]
# puts "mapping is “$mapping”"; # Yay for unicode quote characters!
puts [string map $mapping (3.8.001)]
你要找的序列是这样的,多几个大括号,少几个双引号,但我鼓励你自己学习如何解决这个问题
puts [string map {( {\(} ) {\)}} "(3.8.001)"]
每当我对如何准确地编写包含反斜杠的复杂字符串映射感到困惑时,我就会尝试使用list
构建映射列表。然后,我可能会使用它生成的文本,而不是让我的脚本包含实际的list
命令调用,但这纯粹是我的优化。(这是一个非常低的值;如果列表
的所有参数都是文本,字节码编译器会为我这样做。)在特别棘手的情况下,我将使用lappend
分阶段构建它,但这才是真正令人头痛的地方
此外,映射应该是“replaceawitha replacebwithb…”
”,您将)
和“\(“
”)按错误的顺序放置,结果根本不会起作用
set mapping [list "(" "\\(" ")" "\\)"]
# puts "mapping is “$mapping”"; # Yay for unicode quote characters!
puts [string map $mapping (3.8.001)]
你要找的序列是这样的,多几个大括号,少几个双引号,但我鼓励你自己学习如何解决这个问题
puts [string map {( {\(} ) {\)}} "(3.8.001)"]
我有一个问题。如何将。替换为新行?@ArunBaskar:字符串映射{“.”“\n”}(3.8.001)
我有一个问题。如何将。替换为新行?@ArunBaskar:字符串映射{“.”“\n”}(3.8.001)