Моя цель - генерировать фонетическую транскрипцию для любого слова в соответствии с набором правил.Разделить слово с регулярным выражением в matlab; startIndex для «split»?
Во-первых, я хочу разбить слова на свои слоги. Например, я хочу алгоритм, чтобы найти «ч» в слове, а затем отделить его, как показано ниже:
Input: 'aachbutcher'
Output: 'a' 'a' 'ch' 'b' 'u' 't' 'ch' 'e' 'r'
Я пришел до сих пор:
check=regexp('aachbutcher','ch');
if (isempty(check{1,1})==0) % Returns 0, when 'ch' was found.
[match split startIndex endIndex] = regexp('aachbutcher','ch','match','split')
%Now I split the 'aa', 'but' and 'er' into single characters:
for i = 1:length(split)
SingleLetters{i} = regexp(split{1,i},'.','match');
end
end
Моей проблема: Как соединить ячейки, чтобы они отформатировались как желаемый результат? У меня есть только начальные индексы для частей матча ('ch'), но не для разделенных частей ('aa', 'but', 'er').
Любые идеи?
Возьмем разницу 'startIndex', чтобы получить длину? – Floris