diff scripts/strings/strncmpi.m @ 5674:86adc85cc471

[project @ 2006-03-16 03:46:45 by jwe]
author jwe
date Thu, 16 Mar 2006 03:46:45 +0000
parents
children 9c9eac3a6513
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/scripts/strings/strncmpi.m
@@ -0,0 +1,45 @@
+## Copyright (C) 2000 Bill Lash
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, write to the Free
+## Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## -*- texinfo -*-
+## @deftypefn {Function File} {} strncmpi (@var{s1}, @var{s2}, @var{n})
+## Ignoring case, return 1 if the first @var{n} characters of character
+## strings @var{s1} and @var{s2} are the same, and 0 otherwise.
+##
+## If either @var{s1} or @var{s2} is a cell array of strings, then an array
+## of the same size is returned, containing the values described above for
+## every member of the cell array. The other argument may also be a cell
+## array of strings (of the same size or with only one element), char matrix
+## or character string.
+##
+## @strong{Caution:} For compatibility with @sc{Matlab}, Octave's strncmpi
+## function returns 1 if the character strings are equal, and 0 otherwise.
+## This is just the opposite of the corresponding C library function.
+## @seealso{strcmp, strcmpi, strncmp}
+## @end deftypefn
+
+function retval = strncmpi (s1, s2, n)
+
+  if (nargin == 3)
+    retval = strcmp (tolower (strtrunc (s1, n)), tolower (strtrunc (s2, n)));
+  else
+    usage ("strncmpi (s1, s2, n)");
+  endif
+
+endfunction