首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从字符串行中提取特定的术语?

如何从字符串行中提取特定的术语?
EN

Stack Overflow用户
提问于 2014-04-28 16:51:25
回答 4查看 94关注 0票数 1

我在从每个字符串行中提取术语时遇到了严重的问题。更确切地说,我有一个csv格式的文件,它实际上不是csv格式(它只将所有术语保存成一行)。

因此,下面是数千行字符串中的字符串行示例:

test.csv

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"31451  CID005319044      15939353      C8H14O3S2      beta-lipoic acid     C1C[S@](=O)S[C@@H]1CCCCC(=O)O "
"12232 COD05374044 23439353  C924O3S2    saponin   CCCC(=O)O "
"9048   CTD042032 23241  C3HO4O3S2 Berberine  [C@@H]1CCCCC(=O)O "

我想提取‘β-硫辛酸’‘皂苷’‘小檗碱’,仅位于第5位。你可以看到术语之间有很大的空隙,这就是为什么我说第5位。

在这种情况下,如何提取每一行位于第五位的术语?

还有一件事,:六个术语之间的空格长度并不总是相等的。长度可以是一、二、三、四、五,或者类似的东西。由于空格长度是随机的,所以我不能使用.split()函数。例如,在第一行中,我会得到“β-硫辛酸”而不是“β-硫辛酸”。**

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-04-28 16:55:17

为此提供算法:

  • 阅读文件的每一行。
  • 每一行改为:
    • 用分隔符将其拆分(不确定空格或制表符\t字符是否取决于文件内容)。
    • 找回第五个元素。
    • 将其存储在一个集合中,通常是一个List<String>

您可以使用Scanner类轻松地完成这一任务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
List<String> desiredContent = new ArrayList<>();
Scanner scanner = new Scanner(new File("/path/to/file.csv"));
while (scanner.hasNext()) {
    String line = scanner.nextLine();
    String[] contents = line.split(" ");
    desiredContent.add(contents[4]);
}
票数 2
EN

Stack Overflow用户

发布于 2014-04-28 16:54:56

你可以用扫描仪和下一个方法。

http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

next.htm

希望这能让你走上正轨!

票数 0
EN

Stack Overflow用户

发布于 2014-04-28 16:55:59

您可以使用字符串的拆分方法。

首先你需要一行行地得到字符串.

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  String [] result = scanner.nextLine().split(" ");
   System.out.print(result[4]);

拆分将为您提供一个字符串数组,每个空格都被拆分。索引4表示所需字符串的第五个位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23353676

复制
相关文章
如何用Python提取指定文档中的特定字符并加粗显示?
想把从网络上找来的文章(另存为new.docx或者new.html)与高考词汇表(另存为vocabulary.docx或者vocabulary.html)进行比对后,网络文章里的词汇为高考考纲词汇的,则加粗显示。
9135621
2020/04/23
8.6K1
如何用Python提取指定文档中的特定字符并加粗显示?
GitHub 如何从特定的版本中创建分支
在 Git 的操作中,我们可能需要从特定的版本中创建分支。 首先需要的第一步是活的当前项目的提交历史列表。 然后在特定的版本后,选择 <> 标记,进入这个版本的提交历史。 在左上角上,选择提交历史。 在弹出的对话框中输入分支名称。 在你输入名称后,将会提示你创建分支。 这个的意思是从当前的提交版本中创建一个分支。 然后可以从上面的提交中创建一个分支。 在创建完成后,可以从分支列表中查看创建的分支列表。 https://www.ossez.com/t/github/13414
HoneyMoose
2021/04/02
6.8K0
GitHub 如何从特定的版本中创建分支
如何使用VBA统计字符串中某个特定字符
如果要统计某单元格中指定的某特定字符的数量,可以使用LEN/SUBSTITUTE函数组合的经典公式(假设字符串位于单元格B2):
fanjy
2022/06/04
5.6K0
如何使用VBA统计字符串中某个特定字符
在字符串中删除特定的字符
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。 首先我们考虑如何在字符串中删除一个字符。由于字符串的内存分配方式是连续分配的。我们从字符串当中删除一个字符,需要把后面所有的字符往前移动一个字节的位置。但如果每次删除都需要移动字符串后面的字符的话,对于一个长度为n的字符串而言,删除一个字符的时间复杂度为O(n)。而对于本题而言,有可能要删除的字符的个数是n,因此该
猿人谷
2018/01/17
9K0
基于OpenCV的特定区域提取
今天我们将一起探究如何使用OpenCV和Python从图像中提取感兴趣区域(ROI)。
小白学视觉
2020/08/28
2.9K0
Python字符串中删除特定字符的方法
这篇文章主要介绍了Python字符串中删除特定字符的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 分析
全栈程序员站长
2022/06/28
6.5K0
Python字符串中删除特定字符的方法
python:如何从 URL 中快速提取域名?
有时候,我们要从一段很长的 URL 里面提取出域名。例如从https://www.kingname.info/2020/10/02/copy-from-ssh/,我需要获取的是kingname.info。
王图思睿
2021/06/16
9.2K0
如何从内存提取LastPass中的账号密码
简介 首先必须要说,这并不是LastPass的exp或者漏洞,这仅仅是通过取证方法提取仍旧保留在内存中数据的方法。之前我阅读《内存取证的艺术》(The Art of Memory Forensics)时,其中有一章节就有讨论从浏览器提取密码的方法。当你使用标准的用户名/密码方式登录一个网页,通常会发送一个包含了你的用户名及密码的post请求,这些都是以明文方式发送(这里不过多讨论SSL,在SSL内部也是明文发送的)。 本文描述如何找到这些post请求并提取信息,当然如果你捕获到浏览器登录,这些方法就很实用。
FB客服
2018/02/09
5.7K0
如何从内存提取LastPass中的账号密码
python中删除特定字符串
import re text = ‘wo,didi;wode,;wode’ text0 = text.replace(‘didi’, ”) print(re.sub(‘[,;]’, ‘ ‘, text0))
全栈程序员站长
2022/09/02
3.4K0
从excel文件xlsx中特定单元格中提取图片「建议收藏」
第一种网上通用的用xlsx改zip压缩包,能批量提取出图片。但是无法知道图片在单元格中的顺序信息。
全栈程序员站长
2022/09/14
6.4K0
jmeter正则表达式提取器提取特定字符串后的全部内容
jmeter进行JDBC请求时,请求后的响应结果在传递给下一个请求使用时,需要用到关联,也在jmeter中,关联通过正则表达式提取器实现。
流柯
2018/08/31
3.5K0
jmeter正则表达式提取器提取特定字符串后的全部内容
如何从 Python 中的字符串列表中删除特殊字符?
在进行字符串处理和文本分析时,有时我们需要从字符串列表中删除特殊字符。特殊字符可能是空格、标点符号、换行符等,在某些情况下它们可能干扰我们的文本处理或分析任务。Python 提供了多种方法来删除字符串列表中的特殊字符。本文将详细介绍在 Python 中删除字符串列表中特殊字符的几种常用方法,并提供示例代码帮助你理解和应用这些方法。
网络技术联盟站
2023/06/01
8.4K0
如何从网站提取数据?
在当今时代,根据数据情况来制定业务决策是许多公司的头等大事。为了推动这些决策,公司全天候跟踪,监视和记录相关数据。幸运的是,很多网站的服务器上存储了大量公共数据,可以帮助企业在竞争激烈的市场中保持领先地位。
用户7850017
2021/01/29
3.1K0
如何从 Debian 系统中的 DEB 包中提取文件?
DEB 包是 Debian 系统中常见的软件包格式,用于安装和管理软件。有时候,您可能需要从 DEB 包中提取特定的文件,以便查看其内容、修改或进行其他操作。本文将详细介绍如何从 Debian 系统中的 DEB 包中提取文件,并提供相应的示例。
网络技术联盟站
2023/06/08
3.6K0
如何从 Debian 系统中的 DEB 包中提取文件?
WordPress 技巧:如何从 WordPress 页面菜单中移除特定页面
从 wp_list_pages() 中生成的页面菜单中移除特定的页面是非常简单的,只需要把下面代码加入到主题的 functions.php 文件中:
Denis
2023/04/15
1.9K0
java中替换字符串特定字符replace,replaceAll,replaceFirst
String number = "123,456,5234,52345,63456,7456,7";
用户7886150
2021/04/07
2.6K0
Git 如何从特定的提交中创建一个新的分支
通过在提交历史中单击右键,然后选择分支,你就可在当前指定的提交历史中来创建一个新的分支了。
HoneyMoose
2022/06/04
6.8K0
Git 如何从特定的提交中创建一个新的分支
移除特定字符串左侧文本技巧示例:提取电话号码
有时候,可能有一组数据,需要删除特定文本字符串之前的所有文本。例如,下图1所示的数据中包含员工的姓名和电话号码。
fanjy
2022/06/04
1K0
移除特定字符串左侧文本技巧示例:提取电话号码
python从字符串中提取数字
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/124581.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/21
3.3K0
点击加载更多

相似问题

如何从Java中的字符串行中提取特定的术语?

38

如何提取特定的字符串行

20

从字符串-SQL中提取特定的术语

45

如何从串行数据中提取特定序列

120

如何选择从符合条件的特定行开始的pdf中提取的字符串行

17
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文