要使用tcl/tcl或Python拒绝前三行以及每行中的点(.)
我想要一个输出,不包括前三行,也不包括行末尾的点(.) 我正在使用这个代码要使用tcl/tcl或Python拒绝前三行以及每行中的点(.),tcl,Tcl,我想要一个输出,不包括前三行,也不包括行末尾的点(.) 我正在使用这个代码 set content [split $content \n] set content [lrange $content 2 end] set content [join $content \n] 内容输入 预期产量 范围正确的lrange组合,以及: 棘手的一点是-lineanchor选项regsub,它使$在嵌入字符串的换行符之前的点匹配,而不仅仅是在字符串的末尾匹配。使用Tcl,我会使用循环,因为您需要操作单独的
set content [split $content \n]
set content [lrange $content 2 end]
set content [join $content \n]
内容输入
预期产量
范围正确的
lrange
组合,以及:
棘手的一点是
-lineanchor
选项regsub
,它使$
在嵌入字符串的换行符之前的点匹配,而不仅仅是在字符串的末尾匹配。使用Tcl,我会使用循环,因为您需要操作单独的行:
set content [split $content \n]
set result [list]
for {set i 0} {$i <= [llength $content]} {incr i} {
if {$i < 3} continue
lappend result [regsub {\.$} [lindex $content $i] ""]
}
set result [join $result \n]
puts $result
设置内容[拆分$content\n]
设置结果[列表]
对于{set i 0}{$i另一个take,使用
拒绝是什么意思?排除前三行。拒绝一行的标准是什么?我们应该因为数字索引还是因为内容而过滤它们?
{180309 jfds S B} fouth line
{180221 shrbsd S B} fifth line.fith line part 2
{180214 shrbs S B} sixth line
set content "{180319 arun S B} first set of chars. first chars.
{180316 yyay S B} second set of chars. second line.
{180314 ramaw S B} third line. third line. third line.
{180309 jfds S B} fouth line.
{180221 shrbsd S B} fifth line.fith line part 2.
{180214 shrbs S B} sixth line."
set content [join [lrange [split $content "\n"] 3 end] "\n"]
regsub -all -lineanchor {\.$} $content "" content
puts $content
set content [split $content \n]
set result [list]
for {set i 0} {$i <= [llength $content]} {incr i} {
if {$i < 3} continue
lappend result [regsub {\.$} [lindex $content $i] ""]
}
set result [join $result \n]
puts $result
import re
content = content.splitlines()
result = []
for i in range(0, len(content)):
if i < 3:
continue
result.append(re.sub(r"\.$", "", content[i]))
print("\n".join(result))
set result [lmap line [lrange [split $content \n] 3 end] {
string trimright $line "."
}]
puts [join $result \n]