Logo

Programming-Idioms

  • C
  • Perl

Idiom #167 Trim prefix

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

if (0 == index $s, $p) {
    my $t = substr $s, length $p;
}
#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
#include <string>
std::string t = s.starts_with(p) ? s.substr(p.size()) : s;

New implementation...