Matlab Central Cody Problem 27
Problem 27. Pangrams!
A pangram, or holoalphabetic sentence, is a sentence using every letter of the alphabet at least once.
Example:
Input s = 'The quick brown fox jumps over the lazy dogs'
Output tf = true
这个又是涉及到字符串中内容字母表进行比较的题目,之前见到过两次了,一次是去除掉句子中的元音字母,一次是去掉句子中的辅音字母,都用到了正则表达式的一个替换函数,叫做regexprep(),所以这次主动性的就想往上面去靠,未果,不过也许还是可以通过这个函数做出来的,暂时没想到,就总结一下这次学习到的新函数吧。
首先是在GitHub上面看到的一个解,其中主要用到的函数就是ismember(),用来判断数组元素是否为集数组成员,那么通过判断所要输入的字符串变量s中的元素是否为字母表中成员,就会得到一个经判断过后生成的对应下标,在去重之后,若满足pangram的条件,就会留下一个由0到26组成的数字序列,删除0(0代表非字母元素)后与1:26进行比较,或者直接判断所剩下的序列index的长度是否为26,从而得到最后的逻辑值tf,代码如下。
function tf = ispangram(s)
s = lower(s);
letters_small