gpt4 book ai didi

regex - 从文本文件中提取特定数据

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:05 27 4
gpt4 key购买 nike

我有一个 txt 文件出现在 notepad++ 中,如下所示:

/a/apple 1
/b/bat 10
/c/cat 22
/d/dog 33
/h/human/female 34

现在我想提取末尾数字之前第二个斜线之后的所有内容。所以我想要的输出是:

out = {'apple'; 'bat'; 'cat'; 'dog'; 'human/female'}

我写了这段代码:

file= fopen('file.txt');
out= textscan(file,'%s','Delimiter','\n');
fclose(file);

它给出:

out =
{365×1 cell}

out{1} =

'/a/apple 1'
'/b/bat 10'
'/c/cat 22'
'/d/dog 33'
'/h/human/female 34'

如何从文本文件中获取所需的输出(如果可能,直接获取)?或者如果无法直接获得所需的输出,则使用任何正则表达式?

最佳答案

您可以直接从 textscan 获得所需的输出,无需任何进一步处理:

file = fopen('file.txt');
out = textscan(file, '/%c/%s %d');
fclose(file);
out = out{2}

out =

5×1 cell array

'apple'
'bat'
'cat'
'dog'
'human/female'

请注意 format specifier string 中的两个斜杠将被视为要在输出中忽略的文字文本。任何额外的斜杠都将被捕获到字符串 (%s) 中。此外,无需指定 delimiter argument。由于默认分隔符是空格,因此尾随数字将被捕获为单独的数值 (%d)。

关于regex - 从文本文件中提取特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45700192/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com