Filter löschen
Filter löschen

divide a string every 15 characters

1 Ansicht (letzte 30 Tage)
Andrea Somma
Andrea Somma am 7 Mai 2022
Kommentiert: Star Strider am 7 Mai 2022
I want to divide this string into 5 strings long 15 characters
A = ["+6.64430238e+00+1.14987825e-02-4.68099585e-06+9.62334222e-10-8.24360065e-14"]; %from this
B = ["+6.64430238e+00" "+1.14987825e-02" "-4.68099585e-06" "+9.62334222e-10" "-8.24360065e-14"]; %to this

Akzeptierte Antwort

Star Strider
Star Strider am 7 Mai 2022
Try this —
A = ["+6.64430238e+00+1.14987825e-02-4.68099585e-06+9.62334222e-10-8.24360065e-14"];
B = string(reshape(char(A),15,[])')'
B = 1×5 string array
"+6.64430238e+00" "+1.14987825e-02" "-4.68099585e-06" "+9.62334222e-10" "-8.24360065e-14"
.
  4 Kommentare
Jan
Jan am 7 Mai 2022
@Star Strider: How does this work with string methods only?
This is 20 times slower:
function B = StepSplit(A, w)
len = strlength(A);
n = ceil(len / w);
B = strings(1, n);
c = 1;
for k = 1:n - 1
B(k) = extractBetween(A, c, c + w);
c = c + w;
end
B(n) = extractBetween(A, c, len);
end
Star Strider
Star Strider am 7 Mai 2022
I did not experiment with string methods. I found an approach that worked, and went with it.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

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

Community Treasure Hunt

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

Start Hunting!

Translated by