hi, how to use strsplit function to split a line of string into multiple lines when a predefined number of characters is reached?

9 Ansichten (letzte 30 Tage)
for example: if I have: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", I want to split it into lines after 4 characters and then I could have:"AAAA" "AAAA" "AAAA" "AAAA"

Akzeptierte Antwort

Star Strider
Star Strider am 17 Sep. 2015
This divides them into 8 rather than 4 strings:
str = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';
SplitLen = 4;
CheckLen = SplitLen*fix(length(str)/SplitLen); % So ‘reshape’ Will Work
Result = {reshape(str(1:CheckLen), [], 4)}; % Result As Cell Array
  6 Kommentare
sahar hemmati
sahar hemmati am 17 Sep. 2015
still it does not work, because if the length of remainder of string is less than what was defined it will be ignored and i don't want this
Star Strider
Star Strider am 17 Sep. 2015
The string argument to reshape has to be an integer multiple of the desired length of the substrings. The easiest way to deal with the remainder of the string is to append it to the end:
Result = {reshape(str(1:CheckLen), [], SplitLen); str(CheckLen+1:end)};

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

dpb
dpb am 17 Sep. 2015
s=reshape(s,L,[]);
Requires rem(length(S)/L)=0, of course.

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by