# Transforming a string of letters into number based on each value equaling a number.

조회 수: 1(최근 30일)
tban 2017년 9월 20일
댓글: Stephen23 2017년 9월 20일
If there are a finite amount of variables available for a string like... a,b,c,d,e....z, and each value is numbered 1,2,3,4,5....26, how can I write a short code to take in a string of letters like "bccddee" and get an output of "2+3+3+4+4+5+5".
I can define each letter as a number, but the 1st problem I encounter is braking up the string into a finite amount of values (7) it contains and then using a loop to go trough them inside the string and add them to the total.
Anyone know how to do this or atleast can point me towards the direction of how I can get within a letter string and convert it to numbers which then i can add?

댓글을 달려면 로그인하십시오.

### 답변(4개)

José-Luis 2017년 9월 20일
str = 'bccddee';
result = sum(str - 'a' + 1)
##### 댓글 수: 1표시 없음숨기기 없음
Stephen23 2017년 9월 20일
+1 nice and simple. Why waste time writing anything else?

댓글을 달려면 로그인하십시오.

tban 2017년 9월 20일
Well, mystring is made out of letters and length is only used for numbers, No?
##### 댓글 수: 0표시 이전 댓글 수: -1숨기기 이전 댓글 수: -1

댓글을 달려면 로그인하십시오.

tban 2017년 9월 20일
using this and it works, will let you know if i have any more questions
y=char('john') y =john >> length(y) ans = 4
char needs to be used.
##### 댓글 수: 0표시 이전 댓글 수: -1숨기기 이전 댓글 수: -1

댓글을 달려면 로그인하십시오.

tban 2017년 9월 20일
mystring=char('word')
len=length(mystring)
w=23; o=15;r=18;d=4;
total = 0;
for i = 1:length(mystring)
if (mystring(i) == 'w')
total = total + w;
elseif (mystring(i) == 'o')
total = total + o;
elseif (mystring(i) == 'r')
total = total + r;
elseif (mystring(i) == 'd')
total = total + d;
end
end
this works
##### 댓글 수: 1표시 없음숨기기 없음
John Chilleri 2017년 9월 20일
Glad it's working, but I don't think you need to use char:
>> length('abcdef')
ans =
6
(works in my command window).

댓글을 달려면 로그인하십시오.

### 범주

Find more on Characters and Strings in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!