【发布时间】:2021-05-22 22:35:47
【问题描述】:
在 Matlab 中,考虑字符串:
str = 'text text text [[word1,word2,word3]] text text'
我想随机分离列表中的一个单词('word1','word2','word3'),说'word2',然后在可能的新文件中写入字符串:
strnew = 'text text text word2 text text'
我的做法如下(肯定很糟糕):
隔离字符串'[[word1,word2,word3]]'可以通过
str2=regexp(str,'\[\[(.*?)\]\]','match')
去掉字符串中的开闭方括号是通过
实现的str3=str2(3:end-2)
最后我们可以将 str3 拆分成一个单词列表(存储在一个单元格中)
ListOfWords = split(str3,',')
输出{'word1'}{'word2'}{'word3'},我被困在那里。如何选择其中一个条目并将其重新插入初始字符串(或它的副本......)?请注意,分隔符 [[ 和 ]] 都可以更改为 ||,如果有帮助的话。
【问题讨论】:
-
想要的单词是程序随机选择的,还是程序知道要选择哪个单词?
-
@Luis Mendo 程序随机选择。
-
您的示例中的
text保证不包含[[或]],对吗?请在问题描述中澄清这一点 -
@Luis Mendo 对这个问题和请求都是肯定的。