+++ /dev/null
-# Copyright 2000 by Jeffrey Chang. All rights reserved.
-# This code is part of the Biopython distribution and governed by its
-# license. Please see the LICENSE file that should have been included
-# as part of this package.
-
-"""This provides useful general functions for working with strings (DEPRECATED).
-
-This module and its C code equivalent are considered to be deprecated, and
-are likely to be removed in a future release of Biopython. Please get in
-touch via the mailing list if this will affect you.
-
-Functions:
-splitany Split a string using many delimiters.
-find_anychar Find one of a list of characters in a string.
-rfind_anychar Find one of a list of characters in a string, from end to start.
-
-"""
-import warnings
-warnings.warn("Bio.stringfns and its C code equivalent Bio.cstringfns are" \
- +" deprecated, and will be removed in a future release of"\
- +" Biopython. If you want to continue to use this code,"\
- +" please get in contact with the Biopython developers via"\
- +" the mailing lists to avoid its permanent removal from"\
- +" Biopython.", \
- DeprecationWarning)
-
-def splitany(s, sep=" \011\012\013\014\015", maxsplit=None, negate=0):
- """splitany(s [,sep [,maxsplit [,negate]]]) -> list of strings
-
- Split a string. Similar to string.split, except that this considers
- any one of the characters in sep to be a delimiter. If negate is
- true, then everything but sep will be a separator.
-
- """
- strlist = []
- prev = 0
- for i in range(len(s)):
- if maxsplit is not None and len(strlist) >= maxsplit:
- break
- if (s[i] in sep) == (not negate):
- strlist.append(s[prev:i])
- prev = i+1
- strlist.append(s[prev:])
- return strlist
-
-def find_anychar(string, chars, index=None, negate=0):
- """find_anychar(string, chars[, index]) -> index of a character or -1
-
- Find a character in string. chars is a list of characters to look
- for. Return the index of the first occurrence of any of the
- characters, or -1 if not found. index is the index where the
- search should start. By default, I search from the beginning of
- the string.
-
- """
- if index is None:
- index = 0
- while index < len(string) and \
- ((not negate and string[index] not in chars) or
- (negate and string[index] in chars)):
- index += 1
- if index == len(string):
- return -1
- return index
-
-def rfind_anychar(string, chars, index=None, negate=0):
- """rfind_anychar(string, chars[, index]) -> index of a character or -1
-
- Find a character in string, looking from the end to the start.
- chars is a list of characters to look for. Return the index of
- the first occurrence of any of the characters, or -1 if not found.
- index is the index where the search should start. By default, I
- search from the end of the string.
-
- """
- if index is None:
- index = len(string)-1
- while index >= 0 and \
- ((not negate and string[index] not in chars) or
- (negate and string[index] in chars)):
- index -= 1
- # If not found, index will already be -1.
- return index
-
-# Try and load C implementations of functions. If I can't,
-# then just ignore and use the pure python implementations.
-try:
- from cstringfns import *
-except ImportError:
- pass