finding big letters and skip a line
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I need to write a code that will help me find big letters in a string, and skip a line before the big letter(my string has to look like a poem with 5 lines)
Here the code I tried, I can't figure out what I need to write instead of ????
s="In the golden lightning Of the sunken sun,Oer which clouds are bright'ning, Thou dost float and run, Like an unbodied joy whose race is just begun";
for i=1:length(s)
if s(i)~=lower(s(i))
???
end
end
0 个评论
采纳的回答
DGM
2021-4-21
Something like this:
s='In the golden lightning Of the sunken sun,Oer which clouds are bright''ning, Thou dost float and run, Like an unbodied joy whose race is just begun';
out=regexprep(s,'[A-Z]','\n$0')
1 个评论
更多回答(1 个)
Scott MacKenzie
2021-4-21
编辑:Scott MacKenzie
2021-4-21
There's probably a more elegant solution, but here's a first quick shot at this:
s="In the golden lightning Of the sunken sun,Oer which clouds are bright'ning, Thou dost float and run, Like an unbodied joy whose race is just begun";
c = char(s);
upper = isstrprop(s, 'upper');
k = find(upper);
k = [k length(c)+1];
for i=2:length(k)
fprintf('%s\n', c(k(i-1):k(i)-1));
end
Output:
In the golden lightning
Of the sunken sun,
Oer which clouds are bright'ning,
Thou dost float and run,
Like an unbodied joy whose race is just begun
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 String Parsing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!