要使用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]