【问题标题】:Compact way to extract parts of strings (FASTA header)提取部分字符串的紧凑方法(FASTA 标头)
【发布时间】:2009-03-09 05:21:58
【问题描述】:

给定以下字符串:

string Header =">day11:1:356617";

你如何提取除“>”之外的所有内容, 只产生:

day11:1:356617

我可以对字符串字符进行标准循环 并且只保留“>”以外的内容。

string nStr ="";
for (int i=0; i < Header.size(); i++) {
    if (Header[i] != ">") {
       nStr = nStr + Header[i];
     }
}

但方法似乎 太笨拙和慢,特别是我需要这样做 提取数百万行。

【问题讨论】:

    标签: c++ string sequence


    【解决方案1】:
    if (Header[0] == '>') Header = Header.substr(1);
    

    【讨论】:

      【解决方案2】:

      ...您没有说任何关于入站字符串的“域”或您要查找的内容。如果它只是您提供的形式的字符串,这将是最快的:

      Header.substring(1);
      

      【讨论】:

      • 这是 C++,std::string 没有 substring() 方法。
      猜你喜欢
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      • 2021-02-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多