python百例 --- 提取字符串


有這樣的字符串:"123#%4hello*world000",要求:

  • 將字符串中的所有字母取出來

    • 分析:對於提取字符的要求,首先遍歷所有的字符串,如果字符串是字母就把它保存到列表中,如果要求結果仍然是字符串,再把它們拼接即可:

      >>> s1 = '123#%4hello*world000'
      >>> slist = []
      >>> for ch in s1:
      ...     if ch.isalpha():
      ...             slist.append(ch)
      ... 
      >>> print(slist)
      ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
      >>> ''.join(slist)
      'helloworld'
    • 列表解析可以將以上代碼簡化成一行:

      >>> ''.join([ch for ch in s1 if ch.isalpha()])
      'helloworld'
  • 將字符串中開頭的非字母字符去除

    • 分析:對於去除字符串開頭的非字母字符,這個功能的實現只要找到左邊第一個字母的小標,然后取切片。

      • 直接取下標

        >>> s1 = '123#%4hello*world000'
        >>> for i in range(len(s1)):
        ...     if s1[i].isalpha():
        ...             break
        ... 
        >>> print(s1[i:])
        hello*world000
      • 通過enumerate內建函數

        >>> s1 = '123#%4hello*world000'
        >>> for ind,ch in enumerate(s1):
        ...     if ch.isalpha():
        ...             break
        ... 
        >>> print(s1[ind:])
        hello*world000


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM