tokens.m

来自「实现地震勘探中」· M 代码 · 共 68 行

M
68
字号
function cstr=tokens(str,sep)% Decompose string into individual strings separated by "sep"%% Written by: E. R.: November 22, 2006% Last updated: May 12, 2008: Handle multi-character separator%%         cstr=tokens(str,sep)% INPUT% str     string% sep     separator; %         Default: sep = ','% OUTPUT% cstr    cell vector (row) with individual strings%% EXAMPLE%         cstr=tokens('aa,bbb,ccc')%         cstr=tokens('aa\&bbb\&ccc&d','\&')if isempty(str)   cstr=cell(1,1);   returnendif nargin == 1   sep=',';endlstr=length(str);lstrh=fix(lstr/(1+length(sep)));cstr=cell(lstrh+1);for ii=1:length(str)   [tok,str]=str2tok_no1(str,sep); %#ok Needs to handle multi-character separators   cstr{ii}=tok;   if isempty(str)      cstr(ii+1:end)=[];      break         endend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function [tok,rem]=str2tok_no1(str,sep)% Replacement for "strtok; handles multi-character separatorslsep=length(sep);lsep1=lsep-1;lstr=length(str);if lsep > lstr   tok=str;   rem='';   returnendfor ii=1:lstr-lsep1   if all(str(ii:ii+lsep1) == sep)      tok=str(1:ii-1);      rem=str(ii+lsep:end);      return   endendtok=str;rem='';

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?