string - 如何仅将元音从大写更改为小写,反之亦然 (MATLAB)

标签 string matlab

我必须将字符串上的每个元音更改为大写或小写,具体取决于它已经是什么。所以“UPPERCASE lowercase”变成“uPPeRCaSe lOwErcAsE”

到目前为止,我用这种方法还没有成功

str=  'UPPERCASE lowercase';
vow = 'aeiou';
vowm = 'AEIOU';

for k = 1:5

if str(str == vow(k))
str(str == vow(k))= vowm(k);
else 
    if str(str == vowm(k))
        str(str == vowm(k))= vow(k);

预期输出:“upPeRCaSe lOwErcAsE”

实际输出:“uPPERCASE lOwErCAsE”

我是 matlab 的新手,有点迷路了。 我感谢你的帮助

最佳答案

使用ismember查找每种元音(大写或小写)的所有出现,然后是 upperlower转换它们:

str = 'UPPERCASE lowercase';    %// original string
indl = ismember(str, 'aeiou');  %// locations of lowercase vowels
indu = ismember(str, 'AEIOU');  %// locations of uppercase vowels
str(indl) = upper(str(indl));   %// convert from lower to upper
str(indu) = lower(str(indu));   %// convert from upper to lower

关于string - 如何仅将元音从大写更改为小写,反之亦然 (MATLAB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28674751/

相关文章:

java - 将字符串(时间戳)转换为整数

java - 从 Java 中的字符串中删除 IP 地址

algorithm - 以图表形式排列的对象

matlab - 两幅图像之间的相关性

python - 从 Python 调用 C/C++ 代码

c++ - MATLAB MEX C++ 文件编译错误 g++ command not found

r - 将两个数据框与字符串中具有特定模式的列合并

java - 使 switch 语句在条件语句是用户输入的字符串且每种情况不区分大小写的情况下工作

regex - 如何从字符串中提取信息

excel - 如何将数字作为字符串写入 Excel 文件?