lcSuffix               package:Biobase               R Documentation

Compute the longest common prefix or suffix of a string

Description:

     These functions find the longest common prefix or suffix among the
     strings in a character vector.

Usage:

     lcPrefix(x, ignore.case=FALSE)
     lcPrefixC(x, ignore.case=FALSE)
     lcSuffix(x, ignore.case=FALSE)

Arguments:

       x: a character vector. 

ignore.case: A logical value indicating whether or not to ignore the
          case in making comparisons. 

Details:

     Computing the longest common suffix is helpful for truncating
     names of objects, like microarrays, that often have a common
     suffix, such as .CEL.

     There are some potential problems with the approach used if
     multibyte character encodings are being used.

     'lcPrefixC' is a faster implementation in C.  It only handles
     ascii characters.

Value:

     The common prefix or suffix.

Author(s):

     R. Gentleman

See Also:

     'nchar', 'nchar'

Examples:

     s1 <- c("ABC.CEL", "DEF.CEL")
     lcSuffix(s1)

     s2 <- c("ABC.123", "ABC.456")
     lcPrefix(s2)

     CHK <- stopifnot

     CHK(".CEL" == lcSuffix(s1))
     CHK("bc" == lcSuffix(c("abc", "333abc", "bc")))
     CHK("c" == lcSuffix(c("c", "abc", "xxxc")))
     CHK("" == lcSuffix(c("c", "abc", "xxx")))

     CHK("ABC." == lcPrefix(s2))
     CHK("ab" == lcPrefix(c("abcd", "abcd123", "ab", "abc", "abc333333")))
     CHK("a" == lcPrefix(c("abcd", "abcd123", "ax")))
     CHK("a" == lcPrefix(c("a", "abcd123", "ax")))
     CHK("" == lcPrefix(c("a", "abc", "xxx")))

     CHK("ab" == lcPrefixC(c("abcd", "abcd123", "ab", "abc", "abc333333")))
     CHK("a" == lcPrefixC(c("abcd", "abcd123", "ax")))
     CHK("a" == lcPrefixC(c("a", "abcd123", "ax")))
     CHK("" == lcPrefixC(c("a", "abc", "xxx")))

