【问题标题】:Find the first line starting with a special symbol in R在 R 中找到以特殊符号开头的第一行
【发布时间】:2018-08-05 11:47:25
【问题描述】:

我有一组文本文件。在每一个中,有用的信息从第一行开始,以 ! 开头。在下面显示的示例中,有用的信息从第 3 行开始。

LINES,1
TYPES,T1,I,I,N,T1
!,CODE,GROUP,MTH,COMP
*,1,16,1,"A"

但是,第一行以 !在不同的文本文件中的位置不同。例如,在另一个文件中,有用的信息从第 4 行开始。

95
LINES,1
TYPES,T1,I,I,N,T1
!,CODE,GROUP,MTH,COMP
*,1,16,1,"A"

所以我需要在每个文本文件中找到该行对应的行号。如何在 R 中这样做?我尝试使用以下代码来提取每行的第一个字母。然而,这并没有成功。

x <- readLines("Test_Case.txt")
First.Letter <- function(x) substring(x, 1, 1)
apply(x, 1, First.Letter)
Error in apply(x, 1, First.Letter) : dim(X) must be positive.

【问题讨论】:

    标签: r string readlines


    【解决方案1】:

    您可以在您的行中使用min 和grepl 的组合...您不需要额外的函数来开始字母。使用正则表达式只匹配第一个字符。

    min(grep('^!', c('bla','blub','!test','!2nd')))
    

    或者在你的情况下

    x <- readLines("Test_Case.txt")
    important_line <- min(grepl('^!', x))
    

    【讨论】:

      猜你喜欢
      • 2014-08-06
      • 1970-01-01
      • 2016-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-16
      相关资源
      最近更新 更多