学习笔记(04):21天通关Python(仅视频课)-字符串高级用法

立即学习:https://edu.csdn.net/course/play/24797/282156?utm_source=blogtoedu

★ 本节目标

  1. 转义字符
  2. 字符串格式化     (重点、难点)
  3. 调用函数(方法)操作字符串(重点)

★ 转义字符

如果字符串本身包含反斜线,则需要使用\\表示,其中\\就是转义字符。

转义字符表

 

s = 'a\tb\tc'
print(s)
s2 = 'a\nb\nc'
print(s2)

★ 字符串格式化

使用%加转换说明符的方式执行字符串格式化,Python支持如下所示转换说明符。

转换说明符

 

s = '我爱%s'
print(s % 'Python')

#s2先转成str,d代表十进制整数
s2 = '我最爱的图书是%s,价格是%d'
print(s2 % ('疯狂Python讲义' , 128))

price = 128
s3 = '价格是%d , 八进制为:%o , 十六进制为:%x , 字符串形式为:%r'
print(s %  (price , price ,price , price) )

★ 序列相关的方法

  • 字符串本质就是由多个字符组成,字符串的本质就是不可变序列,因此序列相关的方法:
  • 基于索引的计算
  • in运算
  • len()函数
  • min()、max()函数
s = 'fkjava.org'
#根据下标访问
print(s[3])

#指定开始、结束
print(s[2 : 4])

#指定开始、结束、步长
print(s[2 : 6 : 3])

print('org' in s)    # True
print('ork' in s)    # False

print('s字符串的长度为:'  , len(s))

print(max(s))    # v
print(min(s))    # .

#字符串的方法
print(s.upper())    # FKJAVA.ORG
print(s.title())        # Fkjava.Org
print(s.lower())    # fkjava.org

#dir可以查看某个类的所有方法
print(s.islower())

★ 大小写相关的方法

  • title():将每个单词首字母改为大写。
  • lower():将整个字符串改为小写。
  • upper():将整个字符串改为大写。

dir()可以查看某个类的所有方法。

>>> dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__'
, '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__','__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

#使用help命令可以查看某个方法的具体用法
>>> help(str.islower)
Help on method_descriptor:

islower(self, /)
    Return True if the string is a lowercase string, False otherwise.

    A string is lowercase if all cased characters in the string are lowercase and
    there is at least one cased character in the string.

★ 删除空白

  • strip():删除字符串前后的空白
  • lstrip():删除字符串前面(左边)的空白。
  • rstrip():删除字符串后面(右边)的空白。
s = '  fkjava.org  '
print(s.strip())    
print(s.lstrip())    
print(s.rstrip())

★ 查找、替换相关方法

  • startswith():判断字符串是否以指定子串开头。
  • endswith():判断字符串是否以指定子串结尾。
  • find():查找指定子串在字符串中的出现位置,如果没有找到指定子串,则返回-1。
  • index():查找指定子串在字符串中的出现位置,如果没有找到指定子串,则引发ValueError错误。
  • replace():使用指定子串替换字符串中的目标子串。
  • translate():使用指定的翻译映射表对字符串执行替换。
s = 'fkjava.org'
print(s.find("ava"))    #3
print(s.find("aja"))    #-1

 

★ 分割、连接

  • split():将字符串按指定分隔符分割成多个短语。
  • join():将多个短语连缀成字符串。
s = 'www.fkjava.org'
print(s.split('.'))    #['www', 'fkjava', 'org']

print('='.join(s.split(".")))        #www=fkjava=org

★ 本节小结

  1. 转义字符
  2. 字符串格式化
  3. 字符串相关函数和方法

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python学习笔记|字符串与正则表达式练习题答案 1. 练习题1: 题目:给定一个字符串s,找出其中的连续的最长的数字串。 答案:可以通过正则表达式来匹配数字串,然后使用max函数找出最长的。 代码示例: import re def find_longest_num_str(s): num_str_list = re.findall('\d+', s) longest_str = max(num_str_list, key=len) return longest_str s = "ab1234c56789def" print(find_longest_num_str(s)) 输出:56789 2. 练习题2: 题目:给定一个字符串s,将其中的每个空格替换为"%20"。 答案:可以通过正则表达式的sub函数来实现替换。 代码示例: import re def replace_space(s): new_s = re.sub(' ', '%20', s) return new_s s = "Hello World" print(replace_space(s)) 输出:Hello%20World 3. 练习题3: 题目:给定一个字符串s,判断它是否为回文字符串。 答案:可以使用切片操作将字符串反转,然后与原字符串进行比较。 代码示例: def is_palindrome(s): return s == s[::-1] s = "abcba" print(is_palindrome(s)) 输出:True ### 回答2: 以下是关于字符串和正则表达式练习题的答案: 1. 给定一个字符串s,编写一个函数,返回该字符串的反转字符串。 def reverse_string(s): return s[::-1] 2. 给定一个字符串s,编写一个函数,返回是否是回文字符串。 def is_palindrome(s): return s == s[::-1] 3. 给定一个字符串s和一个字符c,编写一个函数,返回字符串s中字符c的出现次数。 def count_char(s, c): return s.count(c) 4. 给定一个字符串s,编写一个函数,返回字符串s中的所有单词列表。 def split_words(s): return s.split() 5. 给定一个字符串s,编写一个函数,返回字符串s中的所有数字列表。 import re def extract_numbers(s): return re.findall(r'\d+', s) 这只是一些可能的答案,其中的解决方法可以有很多种。每个问题都有不同的解决方案,具体取决于个人的编程风格和需求。希望这些答案能够帮助你理解和学习Python中的字符串和正则表达式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值