Using this code in order to get a pig latin code that works for phrases as well

1 次查看(过去 30 天)
function out = word2piglatin
word = input ( 'Enter a word:' , 's' );
% Check if the first letter of the word is vowel or not
if ismember(word(1), 'aeiouAEIOU' )
out = [word 'way' ]; %Append 'way' to the word
else
out= [word(2:end) word(1) 'ay' ]; %Place the starting letter at the end and append the 'ay'
end
end
  3 个评论
Walter Roberson
Walter Roberson 2020-3-20
编辑:Walter Roberson 2020-3-21
The given code does not produce correct Pig Latin.
  1. what has to be moved is consonant clusters, not single consonants. For example switch has the sw move, not just the s
  2. initial y is treated as a consonant even if it is acting as a vowel in English
  3. internal y is treated as a vowel, ending a consonant cluster, even if it is acting as a consonant in English
  4. compound words must be separated into their parts, such as bedroom being treated as bed room. This is probably the most difficult part, as suffixes can modify a word to not be able to stand alone. For example, "He's a bedroomista" cannot be split into "bed" and "roomista" because "roomista" is not considered a standalone word.
  5. I don't know how to handle contractions at the moment. I suspect that it is "remove the apostrophe and process what is left"

请先登录,再进行评论。

回答(1 个)

Sriram Tadavarty
Sriram Tadavarty 2020-3-20
编辑:Sriram Tadavarty 2020-3-20
Hi Charlotte,
You can perform this by entering the phase in the input and then splitting in to words, process and combining. Here is the code:
function out = word2piglatin
phrase = input('Enter a phrase: ','s');
words = strsplit(phrase);
temp = words;
for i = 1:numel(words)
if ismember(words{i}(1), 'aeiouAEIOU' )
temp{i} = [words{i} 'way' ]; %Append 'way' to the word
else
temp{i}= [words{i}(2:end) words{i}(1) 'ay' ]; %Place the starting letter at the end and append the 'ay'
end
end
out = strjoin(temp, ' ');
end
Try this in command window:
>> word2piglatin
Enter a phrase: Hello Everybody
ans =
'elloHay Everybodyway'
Hope this helps.
Regards,
Sriram

类别

Help CenterFile Exchange 中查找有关 Text Data Preparation 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by