code: func extractKey(s, prefix string) (string, error) {
  	substrings := strings.SplitN(s, "/", 2)
  	if len(substrings) <= 1 || substrings[0] != prefix {
  		switch prefix {
  		case deleteFromPrimitiveListDirectivePrefix:
  			return "", mergepatch.ErrBadPatchFormatForPrimitiveList
  		case setElementOrderDirectivePrefix:
  			return "", mergepatch.ErrBadPatchFormatForSetElementOrderList
  		default:
  			return "", fmt.Errorf("fail to find unknown prefix %q in %s\n", prefix, s)
  		}
  	}
  	return substrings[1], nil
  }
docs: // extractKey trims the prefix and return the original key