繁体   English   中英

查找长字符串中给定单词之前的 \\n 个数

[英]Find the number of \n before a given word in a long string

我有一个很长的字符串:

string = 'Idnum\rId\nkey: maturity\n2\nmaturity\rpara1\rpara2\n1Y\r0\r0\n2Y\r0\r0'

现在我想找出单词\\nmaturity之前的\\n数量(在字符串中是唯一的,我们可以看到答案是 2)。

这是这个问题的动机,如果你不能理解我下面说的内容,请忽略它并专注于上面的问题。

我想使用pandas来读取data (我不确定data的结构,可能是一个csv):

在此处输入图片说明

并使用语法:

value = pandas.read_csv(data, sep = '\t', skiprows = 3).set_index('maturity') 

maturity前跳过前3行以获得如下表: 在此处输入图片说明

所以我需要找出maturity的行数来确定我应该跳过多少行。 但我只知道data

data.getvalue() = 'Idnum\rId\nkey: maturity\n2\nmaturity\rpara1\rpara2\n1Y\r0\r0\n2Y\r0\r0'

\\n正在更改行,而\\r正在更改单元格)。 所以我必须天真地找到maturity前的\\n数来确定原始表(或data )中maturity的行数。

那么,如果您熟悉上述结构,您能告诉我如何在data找到maturity的行数吗?

一种方法:

  • 首先使用 '\\nmaturity' 作为分隔符split字符串并取第一个(因此位于第一个找到的项目的左侧)。
  • 比使用count来计算 '\\n' 的数量。

未经测试:

string = 'Idnum\rId\nkey: maturity\n2\nmaturity\rpara1\rpara2\n1Y\r0\r0\n2Y\r0\r0'
stringUntilMaturity = string.split('\nmaturity')[0]
counts = stringUntilMaturity.count('\n')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM