我有这些弦:
552D3AE5|HellothisIsATest__**wordIWant**|someotherstuff|0
3685248S|HellomynameIsAlex__**wordIWant2**|someotherstuff|0
8963252A|HelloiAm25YearsOld__**wordIWant3**|someotherstuff|0
基本上我想从这个字符串中“提取”单词
不幸的是,所有这些都没有空格,所以我不能使用split。
我试过使用startswith()
,但只有在乞讨中才有效。你知道吗
所有字符串都具有相同的模板
.....|Hello........|.....
您可以在
(?<![A-Za-z0-9])wordIWant\w*
上执行regex搜索,使用右侧的\w*
来允许可能更长的单词:按管道拆分,然后抓住每个字符串的第二个条目,按双下划线拆分,然后取后一个条目,就完成了:
输出
如果数据始终采用该格式,并且假设每行都是不同的字符串,则可以使用:
这将在每个字符串中搜索两个下划线,然后搜索所有内容,直到找到一个垂直条为止。
group(0)
将是整个匹配,包括下划线,而group(1)
只是wordIWant
,因为我们将其括在括号中。你知道吗编辑: 如果您的字符串只是一个大的块,则可以使用以下命令:
在本例中,
words_i_want
将是所需单词的列表。你知道吗相关问题 更多 >
编程相关推荐