Looking for alternative of extractBetween function

13 visualizzazioni (ultimi 30 giorni)
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 Commenti
Rik
Rik il 4 Nov 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.
SUBHAJIT KAR
SUBHAJIT KAR il 4 Nov 2021
I am using version 2016a. How can I extract 'B.1.2' from the the expression 'OK584715.1 |B.1.2' , using regexp ?

Accedi per commentare.

Risposta accettata

Rik
Rik il 4 Nov 2021
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 Commenti
Rik
Rik il 7 Nov 2021
Why did you remove all the semicolons as well as all documentation for the regular expression? And why are you closing all figures?
SUBHAJIT KAR
SUBHAJIT KAR il 9 Nov 2021
I actually forget to add those semicolons.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Prodotti


Release

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by