替换位于两个位置之间的子串

时间:2014-03-24 16:10:51

标签: string matlab replace

我在Matlab中有一个字符串S。如何用一些模式P替换S中的子字符串。我只知道S中子字符串的第一个和最后一个索引。方法是什么?

1 个答案:

答案 0 :(得分:1)

那怎么样?

str = 'My dog is called Jim';      %// original string  

a = 4;                             %// starting index
b = 6;                             %// last index

replace = 'hamster';               %// new pattern

newstr = [str(1:a-1) replace str(b+1:end)]

返回:

newstr =  My hamster is called Jim

如果您要替换的模式与新模式具有相同的字符数,您可以使用简单的索引:

str(a:b) = 'cat'

返回:

str =  My cat is called Jim