⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 strutils.py

📁 wxPython的基本示例程序
💻 PY
字号:
#----------------------------------------------------------------------------# Name:         strutils.py# Purpose:      String Utilities## Author:       Morgan Hua## Created:      11/3/05# CVS-ID:       $Id: strutils.py,v 1.4 2006/04/20 06:25:51 RD Exp $# Copyright:    (c) 2005 ActiveGrid, Inc.# License:      wxWindows License#----------------------------------------------------------------------------def caseInsensitiveCompare(s1, s2):    """ Method used by sort() to sort values in case insensitive order """    s1L = s1.lower()    s2L = s2.lower()    if s1L == s2L:        return 0    elif s1L < s2L:        return -1    else:        return 1def multiSplit(stringList, tokenList=[" "]):    """Splits strings in stringList by tokens, returns list of string."""    if not stringList: return []    if isinstance(tokenList, basestring):        tokenList = [tokenList]    if isinstance(stringList, basestring):        stringList = [stringList]    rtnList = stringList    for token in tokenList:        rtnList = rtnList[:]        for string in rtnList:            if string.find(token) > -1:                rtnList.remove(string)                names = string.split(token)                for name in names:                    name = name.strip()                    if name:                        rtnList.append(name)    return rtnListQUOTES = ("\"", "'")def _findArgStart(argStr):    i = -1    for c in argStr:        i += 1        if (c == " "):            continue        elif (c == ","):            continue        return i    return Nonedef _findArgEnd(argStr):    quotedArg = True    argEndChar = argStr[0]    if (not argEndChar in QUOTES):        argEndChar = ","        quotedArg = False    i = -1    firstChar = True    for c in argStr:        i+= 1        if (firstChar):            firstChar = False            if (quotedArg):                continue        if (c == argEndChar):            if (quotedArg):                return min(i+1, len(argStr))            else:                return i    return idef parseArgs(argStr, stripQuotes=False):    """    Given a str representation of method arguments, returns list arguments (as    strings).        Input: "('[a,b]', 'c', 1)" -> Output: ["'[a,b]'", "'c'", "1"].    If stripQuotes, removes quotes from quoted arg.    """    if (argStr.startswith("(")):        argStr = argStr[1:]        if (argStr.endswith(")")):            argStr = argStr[:-1]        else:            raise AssertionError("Expected argStr to end with ')'")    rtn = []    argsStr = argStr.strip()    while (True):        startIndex = _findArgStart(argStr)        if (startIndex == None):            break        argStr = argStr[startIndex:]        endIndex = _findArgEnd(argStr)        if (endIndex == len(argStr) - 1):            rtn.append(argStr.strip())            break                t = argStr[:endIndex].strip()        if (stripQuotes and t[0] in QUOTES and t[-1] in QUOTES):            t = t[1:-1]        rtn.append(t)        argStr = argStr[endIndex:]    return rtn

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -