2014-12-15 3 views

답변

3

당신은 cellfun를 사용할 수 있습니다

M = { 'a12345.567'; 'b12345.567' }; %// you have 20 entries like these 
MM = cellfun(@(x) [x(1:7),'3'], M, 'uni', 0) 

는 매트랩 더 진보 된 문자열 교체 기능을

ans = 
    a12345.3 
    b12345.3 

과 결과, 당신은 strrepregexprep을 탐험 할 수 있습니다.

+1

고마워요. 작동합니다. – arupnathdaw

0

사용할 수있는 또 다른 방법은 regexprep입니다. 정규 표현식을 사용하여 . 문자 뒤에 나타나는 숫자의 위치를 ​​찾고 원하는 문자로 바꿉니다. 이 경우 :

M = { 'a12345.567'; 'b12345.567' }; %// you have 20 entries like these - Taken from Shai 
MM = regexprep(M, '\d+$', '3'); 

MM = 

    'a12345.3' 
    'b12345.3' 

Regular expressions는 특정 패턴과 일치하는 더 큰 문자열 내의 문자열을 발견 프레임 워크입니다. 여기서는 \d이 한 자리 숫자 (0-9)의 정규 표현식입니다. + 문자는 함께 연결된 하나 이상의 숫자를 찾으려는 것을 의미합니다. 마지막으로 $ 문자는이 패턴이 문자열 끝에 인 으로 나타나야 함을 의미합니다. 즉, 문자열 끝 부분에 숫자가 표시되도록 각 문자열에서 패턴을 찾고 싶습니다. regexprep이 패턴을 찾으면 원하는 패턴으로 바꿉니다. 이 경우 귀하의 예에 따라 3을 선택했습니다.

관련 문제