Matlab 文本格式化-写出XY后面的单词

Matlab 文本格式化-写出XY后面的单词,matlab,Matlab,我对MATLAB相当陌生,在我的家庭作业中,我有一块文本,我需要从中选择后面的单词,然后用字母Y替换每个字母X。我知道如何在python中通过分割和循环搜索X。但是,在MATLAB中我迷失了方向。你能告诉我是否有一些等效的命令吗?命令中的一些东西,比如 fileread textscan fseek 多谢各位 编辑: 我真正的意思是,从一根绳子: str = 'I like apples and pineapples and other fruit' 我需要获

我对MATLAB相当陌生,在我的家庭作业中,我有一块文本,我需要从中选择后面的单词,然后用字母Y替换每个字母X。我知道如何在python中通过分割和循环搜索X。但是,在MATLAB中我迷失了方向。你能告诉我是否有一些等效的命令吗?命令中的一些东西,比如

    fileread
    textscan
    fseek
多谢各位

编辑:

我真正的意思是,从一根绳子:

    str = 'I like apples and pineapples and other fruit'
我需要获得

    'pineapples'
    'other'
并将“e”切换为“z”返回,使用常规。查找and或and之后的所有内容,并用Y切换X:

有点乱。我想它可以做得更简单,但至少它是有效的!如果您不知道X的大小写,请使用而不是==

更新: 在你的评论之后,我想这应该是可行的:

[startIndex,endIndex] = regexpi(str,'and');
str2 = str(endIndex(1) + 1 : end);
words = regexp(str2,' ','split');
nums = cellfun(@(x) find(x == 'e'), words, 'UniformOutput', false);
[idx] = find(~cellfun(@isempty, nums));
wordList = words(idx)
wordList(wordList == 'e') = 'X'

谢谢,但我意识到我不够具体。我需要找到你描述的X,例如从str='我喜欢胡萝卜、菠萝和其他水果'我需要得到'菠萝'和'其他',然后在这些中,我需要将'e'更改为'z',并只返回更改的单词,而不是原始语句。@matlab哦,不:请参阅更新的答案。它有点长,但再次强调:我认为它有效=您好,不幸的是,这段代码似乎写出了所有包含字母“e”的单词,不管它们是否跟在“I”和“I使整个文本大写,从文本中第一个和”之后找到的第一个单词开始选择单词列表。我说的是,你的意思是“str2”只包含“AND”之后的单词?
[startIndex,endIndex] = regexpi(str,'and');
str2 = str(endIndex(1) + 1 : end);
words = regexp(str2,' ','split');
nums = cellfun(@(x) find(x == 'e'), words, 'UniformOutput', false);
[idx] = find(~cellfun(@isempty, nums));
wordList = words(idx)
wordList(wordList == 'e') = 'X'