search and replace exact substring
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Notsure USA
el 8 de Oct. de 2014
Comentada: Image Analyst
el 9 de Oct. de 2014
Hello,
I am parsing a string to check for an exact phrase. If the exact phrase is found, then I want to replace the phrase with a new phrase. The problem is, sometimes the phrase will be part of anothe phrase. Example:
wish to change the phrase "eps" to "%eps"
str = 'steps = eps*100 + beta*steps*eps';
newStr = 'steps = %eps*100 + beta*steps*%eps';
I'm having trouble picking out the exact phrase; each parsing phrase that I've come up with always catches something undesired e.g. 'steps' => 'st%eps' etc.
I've tried things like: st1 = regexprep(str,'^\w*(?=eps)^\w*','%eps')
(where I think I'm saing, look around the phrase "eps", if there's no "word" in the regexp sense, then replace the phrase with "%eps", but I'm obviously not there yet.
TIA,
CDQ (R2011b)
0 comentarios
Respuesta aceptada
Azzi Abdelmalek
el 8 de Oct. de 2014
Editada: Azzi Abdelmalek
el 8 de Oct. de 2014
str = 'steps = eps*100 + beta*steps*eps';
regexprep([' ' str ' '],'(?<=[^a-zA-Z])eps(?=[^a-zA-Z])','%eps')
Más respuestas (1)
Image Analyst
el 8 de Oct. de 2014
newString = strrep(oldString, ' eps', ' %eps');
2 comentarios
Image Analyst
el 9 de Oct. de 2014
You could do it in two lines of code instead of one:
newString = strrep(oldString, ' eps', ' %eps');
newString = strrep(newString, '*eps', '%eps');
Likewise in the event you have any other symbols. Sorry for not doing this in the first place - thought you'd know. I find this much easier, and more straightforward and intuitive than trying to compose/invent complicated regexp expressions, so that's why I suggested it. Looks like you're quite adept with regexp though and can understand things like ' (?<=[^a-zA-Z])eps(?=[^a-zA-Z]) ', and that's great, because not everybody can.
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!