]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/string.cc
* Documentation/pictures/lilypond-48.xpm: New file.
[lilypond.git] / flower / string.cc
index fb270dd30db82ae5c909e40f17b895e8e0412327..32ac7fca6088bc6fce8b53da4455c7f7a12a20e9 100644 (file)
@@ -382,9 +382,26 @@ String::print_on (ostream &os) const
 }
 #endif
 
-void
-String::substitute_char (char chr, String sub)
+String
+String::substitute (String find, String replace)
+{
+  int n = find.length ();
+  int m = replace.length ();
+  for (int i = index (find), j = 0; i > -1;
+       i = right_string (length () - j).index (find))
+    {
+      *this = left_string (i + j)
+       + replace
+       + right_string (length () - j - i - n);
+      j += i + m;
+    }
+  return *this;
+}
+
+String
+String::substitute (char find, char replace)
 {
-  for (int i = index (chr); i > -1; i = index (chr))
-    *this = left_string (i) + sub + right_string (length () - i - 1);
+  for (int i = index (find); i > - 1; i = index (find))
+    (*this)[i] = replace;
+  return *this;
 }