判断字符串和类字符串


本文地址: http://blog.csdn.net/caroline_wendy/article/details/20461879


Python中, 测试一个字符串是否是类字符串, 有两种方法: 

方法1:

可以判断是否是basestring的一个示例;

因为basestring是str和unicode的超类(superclass), 即This abstract type is the superclass for str and unicode;

但却无法检测UserString模块提供的类的实例.

方法2:

可以使用简单的测试, 判断其是否符合字符串的规则, 即 str+''是否是一个字符串;


代码如下:

# -*- coding: utf-8 -*-  #==================== #File: TextExercise.py #Author: Wendy #Date: 2014-03-02 #====================  #eclipse pydev, python2.7  import UserString  def isAString (anobj):     return isinstance(anobj, basestring)  def isStringLike (anobj):     try: anobj + '' + anobj.lower()     except: return False     else: return True      str = UserString.UserString('Girl') print(str), print(isAString(str)), #无法检测UserString类 print(isStringLike(str))  print('')  str2 = 'Girl-Boy' print(str2), print(isAString(str2)), #无法检测UserString类 print(isStringLike(str2))


输出:

Girl False True  Girl-Boy True True