Matlab脚本(将字符串转换为数字)

时间:2014-03-09 18:46:01

标签: string matlab

我是这个网站的新手以及编码所以这个问题可能看似微不足道,但任何帮助都会很棒(如果可能的话,请不要只回答问题)。

我正在尝试编写一个函数,其中一个字母的字符串被转换为小写的数量(不允许循环和条件)。到目前为止我的尝试是:

function countLowerCase
string = input('Please enter a string: ');
Lowercase = 'string' > 96 & 'string' <123;
sum(Lowercase)

提前致谢。

2 个答案:

答案 0 :(得分:3)

首先,string'string'之间有什么区别?一个是变量,另一个是包含5个小写字符的常量字符串。现在为什么函数总是返回5?等等,它没有返回任何东西,因为它没有输出变量;)

除了错误之外,假设我们处理的是纯粹的7位ASCII字符,这是一种非常有效的方法,因此“小写”意味着一个连续的范围。使比较更清晰的一个有用提示是使用字符本身:

(扰流板)

  

Lowercase = (string >= 'a') & (string <= 'z');

更一般地说,由于Matlab对非ASCII字符的处理是locale-specific,在实际代码(而不是编程练习)中,除了让内置语言方法处理它之外,做任何事都是不可取的:< / p>

  

sum(string == lower(string));sum(isstrprop(string, 'lower'));

答案 1 :(得分:2)

你几乎拥有它:

function countLowerCase
string = input('Please enter a string: ','s'); %// add 's' to get a string
Lowercase = string > 96 & string <123; %// remove quotation marks
sum(Lowercase)