Looking for alternative of extractBetween function

close all
clear all
clc
name = 'Covid_strains';
file = strcat(name,'.fasta');
sequences = fastaread(file);
The code extract the sequences from the fasta file "Covid_strains". The file contains multiple sequences. The fastaread function create a structure containing Header and Sequences. Now I want to extract the some part of the header and store it in a table. The table will be the response variable for the predictor. I wanted to use extractbetween function for this. But since I am using older version of MATLAB, the function is not available to me. Please help.

2 comentarios

Rik
Rik el 4 de Nov. de 2021
You didn't enter your release when you posted your question, which makes it harder to help you.
I suspect the best choice would be to use regexp. With a regular expression you can capture the tokens.
I am using version 2016a. How can I extract 'B.1.2' from the the expression 'OK584715.1 |B.1.2' , using regexp ?

Iniciar sesión para comentar.

 Respuesta aceptada

You need to come up with a regular expression that will exactly match what you want to extract. Below is my guess for what you want.
RE=['\|',... match a literal |
'(.*)',... capture any character in a token
'($|\n)'];% end of matched substring should be a newline or the end of the string
txt='OK584715.1 |B.1.2';
x=regexp(txt,RE,'tokens');x{1}
ans = 1×2 cell array
{'B.1.2'} {0×0 char}

4 comentarios

Thanks a lot. But the command creating cell arrays under a cell array.
close all
clear all
clc
name = 'Covid_strains'
file = strcat(name,'.fasta')
seqs = fastaread(file)
T = {seqs.Header}'
T1 = cell2table(T,'VariableNames',{'Label'})
RE = ['\|','(.*)','($|\n)'];
x =regexp(T1.Label,RE,'tokens')
How can I get the output as a string insted of cell array?
How can I get the output as a string insted[sic] of cell array?
With release R2016a? You don't.
According to the documentation page the string function was introduced in release R2016b.
Rik
Rik el 7 de Nov. de 2021
Why did you remove all the semicolons as well as all documentation for the regular expression? And why are you closing all figures?
I actually forget to add those semicolons.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Centro de ayuda y File Exchange.

Productos

Versión

R2016a

Preguntada:

el 4 de Nov. de 2021

Comentada:

el 9 de Nov. de 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by