Regexextract在一个单元格内的多行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Regexextract在一个单元格内的多行相关的知识,希望对你有一定的参考价值。

在Google表格中,我在一个单元格中有这个:

Random stuff blah blah 123456789
<Surname, Name><123456><A><100><B><200>
<Surname2, Name2><456789><A><300><B><400>
Some more random stuff

并希望匹配<>括号内的字符串。到目前为止,我得到了= REGEXEXTRACT(A4, "<(.*)>")

Surname, Name><123456><A><100><B><200

这很好,但它只是第一行。期望的输出将是这个(可能包括开头/结尾的<>,它并不重要):

Surname, Name><123456><A><100><B><200>
<Surname2, Name2><456789><A><300><B><400

或者干脆:

Surname, Name><123456><A><100><B><200><Surname2, Name2><456789><A><300><B><400

到那里怎么走?

答案

请试试:

=SUBSTITUTE(regexextract(substitute(A4,char(10)," "),"<(.*)>"),"> <",">"&char(10)&"<")

从中间开始,substitute用空格替换换行符(char(10))。这使得regexextract能够处理完整(即多线)字符串,其模式与OP已经熟悉的相同。然后SUBSTITUTE恢复相关空间(确定为立即被><包围)并换行。

另一答案

Google表格使用RE2 syntax。您可以设置multi-lines标志以匹配多行。以下内容将匹配单元格A2中多行的所有字符。

=REGEXEXTRACT(A2, "(?ms)^(.*)$")

以上是关于Regexextract在一个单元格内的多行的主要内容,如果未能解决你的问题,请参考以下文章

Excel将不同的单元格内容插入多行文本块?

excel一个单元格内多行如何分列?

java poi 一个单元格写如多行数据

Excel多行内容,合并单元格之后就只显示第一行内容,如何显示其他行?

excel每个单元格多行内加入相同的内容?

iOS8“现在”改变动态单元格的高度,重新内部单元格内容