Logo

Programming-Idioms

  • Groovy
  • Pascal
  • Fortran

Idiom #167 Trim prefix

Create the string t consisting of the string s with its prefix p removed (if s starts with p).

  if (index(s,p) == 1) then
     t = s(len(p)+1:)
  else
     t = s
  end if
uses StrUtils;
if AnsiStartsStr(p, s) then 
  t := copy(s, length(p)+1, length(s)-length(p))
else
  s := t;
#include <string.h>
size_t l = strlen(p);
const char * t = strncmp(s, p, l) ? s : s + l;

strlen computes the prefix length and strncmp returns zero if the first l characters match

New implementation...