首页 > 其他分享 >字符串操作

字符串操作

时间:2025-01-02 23:09:35浏览次数:1  
标签:spam print world 字符串 操作 方法 hello

python对于字符串能做的事情很多,比如从字符串中提取部分字符串,添加或者删除空白字符,将小写字母转换成大写,检查字符串格式是否正确,甚至你可以编写python代码访问粘贴板,复制或者粘贴。

1. 字符串的拼接

字符串的拼接可以使用加号,也可以使用join函数,join函数的参数是一个可迭代对象,比如列表,元组,字符串,字典,集合等,join函数会遍历可迭代对象中的元素,将每个元素转换成字符串,然后使用分隔符连接起来,比如:

s = 'a'
s += 'b'
print(s)
# 输出:ab

s = 'a'
s = s.join(['b', 'c'])
print(s)
# 输出:abc

2.双引号

spam = "I've got some good news for you!"
print(spam)

双引号中可以包含单引号

3.转义字符\

spam = 'Say hi to Bob\'s mother.'
print(spam)
转义字符 打印为
\' 单引号
\" 双引号
\t 制表符
\n 换行符
\\ 倒斜杠

制表符使用

# 使用格式化字符串(f-string)插入制表符
name = "张三"
age = 25
city = "北京"
print(f"姓名\t年龄\t城市")
print(f"{name}\t{age}\t{city}")

4.三引号

三引号可以包含多行字符串,也可以包含单引号和双引号

spam = """This is a very long string. It can span multiple lines. 
It can even contain "quotes" without causing any problems."""
print(spam)

5.原始字符串

可以在字符串前加上r,表示原始字符串,原始字符串中的转义字符会被忽略。

spam =  r'Say hi to Bob\t s mother.'
print(spam)

输出:

Say hi to Bob\t s mother.

6.字符串的长度

s = 'hello'
print(len(s))

7.字符串的索引

s = 'hello'
print(s[0])
print(s[1])
print(s[2])
print(s[3])
print(s[4])

8.字符串的切片

字符串像列表一样 可以使用下标和切片,可以将字符串看成一个列表,字符串中的每个字符就是一个表项。列表的切片操作是左闭右开区间,字符串的切片操作也是左闭右开区间。

spam =  'Say hi to Bob\t s mother.'
print(spam[8])
print(spam[8:16])

9.字符串的格式化

字符串的格式化可以使用%操作符,也可以使用format函数,也可以使用f-string。

name = 'Bob'
age = 25
print('My name is %s, I am %d years old.' % (name, age))
name = 'Bob'
age = 25
print('My name is {}, I am {} years old.'.format(name, age))
name = 'Bob'
age = 25
print(f'My name is {name}, I am {age} years old.')

10.字符串的查找 in not in

字符串的查找可以使用in操作符,也可以使用find函数,也可以使用index函数。

s = 'hello'
print('h' in s)
print(s.find('e'))
print(s.index('l'))

11.字符串的替换

字符串的替换可以使用replace函数。

s = 'hello'
print(s.replace('l', 'x'))

12.字符串的分割

字符串的分割可以使用split函数。

s = 'hello world'
print(s.split())

split函数可以指定分割符,比如:

# 使用指定的分隔符(空格)并限制分割次数
text = "这是 一个 测试 字符串"
result = text.split(' ', 2)
print(result)  # 输出: ['这是', '一个', '测试 字符串']

13.字符串方法 upper(),lower(),isupper(),islower(), isalpha(),isdigit(),isalnum(),isspace(),strip(),lstrip(),rstrip(),capitalize(),title(),swapcase(),center(),ljust(),rjust(),zfill(),count(),find(),index(),replace(),split(),join(),startswith(),endswith(),format(),format_map(),maketrans(),translate(),encode(),decode()

方法很多 慢慢学 只有实际用过了的才能记得住

s = 'hello'
print(s.upper())
print(s.lower())
print(s.isupper())
print(s.islower())
print(s.isalpha())
print(s.isdigit())
print(s.isalnum())
print(s.isspace())
print(s.strip())
print(s.lstrip())
print(s.rstrip())
print(s.capitalize())
print(s.title())
print(s.swapcase())
print(s.center(10))
print(s.ljust(10))

字符串的判断

字符串的判断可以使用isalpha(),isalnum(),isdigit(),isspace(),istitle()等方法。
1. isalpha()返回 True,如果字符串只包含字母,并且非空;
2. isalnum()返回 True,如果字符串只包含字母和数字,并且非空;
3. isdecimal()返回 True,如果字符串只包含数字字符,并且非空;
4. isspace()返回 True,如果字符串只包含空格、制表符和换行,并且非空;
5. istitle()返回 True,如果字符串仅包含以大写字母开头、后面都是小写字母的单词

14.字符串方法 startwith() 和 endwith()

如果调用的字符串以该方法传入的字符串开始或者结束,则返回True,否则返回False。

spam = 'Li Zhi Dong'
print(spam.startswith('L'))
print(spam.endswith('g'))
print(spam.startswith('l'.upper()))

15.字符串方法 count()

返回字符串中指定子字符串出现的次数。

s = 'hello world'
print(s.count('l'))

16.字符串方法 join() 和split()

join()方法将一个可迭代对象中的元素连接成一个字符串,split()方法将一个字符串分割成一个列表。

s = 'hello'
print(s.join(['b', 'c'])) # 将列表中的元素用字符串s连接起来
print(s.join('8ob'))
print(s.split()) # 将字符串分割成一个列表

一般join方法是这样使用的:

# 使用逗号作为分隔符连接列表中的字符串
words = ['apple', 'banana', 'cherry']
result = ', '.join(words)
print(result)  # 输出: apple, banana, cherry

split方法是这样使用的:

# 使用空格作为分隔符将字符串分割成列表
spam = '''Dear Alice,have you been? I am fine.
There is a container in the fridge
that is labeled "Milk Experiment".
Please do not drink it.
Sincerely,
Bob'''
spam.split('\n')

17.使用partition()方法分割字符串

partition()方法将字符串分割成三部分,第一部分是第一个分隔符之前的字符串,第二部分是第一个分隔符,第三部分是第一个分隔符之后的字符串。如果字符串中没有分隔符,则返回一个包含原始字符串和两个空字符串的元组。

s = 'hello world'
print(s.partition('w'))
print(s.partition('o'))
print(s.partition('m'))
('hello ', 'w', 'orld')
('hell', 'o', ' world')
('hello world', '', '')

如果传递给partition()方法的分隔字符串在partition()方法调用的字符串中多次出现,则该方法仅在第一次出现处分隔字符串
如果传递给partition()方法的分隔字符串在partition()方法调用的字符串中不存在,则该方法返回一个包含原始字符串和两个空字符串的元组
可以利用多重赋值技巧,将partition()方法返回的元组赋值给三个变量,例如:

s = 'hello world'
before, sep, after = s.partition('w')
print(before)
print(sep)
print(after)
hello 
w
orld

17.用 rjust()、ljust()和 center()方法对齐文本

rjust()、ljust()和center()方法分别返回一个原字符串右对齐、左对齐和居中对齐,并用指定字符填充至指定宽度的字符串。

s = 'hello'
s = 'hello'
print(s.rjust(10)) #这个方法的第一个参数是一个整数,代表长度,用于对齐字符串。第二个参数是一个可选的填充字符,默认为空格。
print(s.ljust(10))
print(s.center(10)) # 居中
print(s.rjust(10,'*')) # 第二个参数是指定填充字符,用于取代空格字符
print(s.center(20,'*'))
     hello   
hello     
   hello   
*****hello
*******hello********  

如果需要输出表格式数据,并且保留正确的空格,这些方法将特别有用

def printoicnic(itemsDict,leftWidth,rightWidth): #定义一个可以传递三个参数的函数
    print('PICNIC ITEMS'.center(leftWidth + rightWidth,'_')) #打印标题 ,使用字符串的center方法,使其居中,并使用下划线填充 其长度为leftWidth + rightWidth
    for k,v in itemsDict.items(): #遍历字典中的键值对 用items()方法
        print(k.ljust(leftWidth,'.') + str(v).rjust(rightWidth)) #打印键值对,使用字符串的ljust和rjust方法,使其左对齐和右对齐 ,并使用点号填充
picnicItems = {'sandwiches': 4, 'apples': 12, 'cups': 4, 'cookies': 8000}
printoicnic(picnicItems,12,5)
printoicnic(picnicItems,20,6)
printoicnic(picnicItems,40,8)
PICNIC ITEMS___________
sandwiches.....4
apples........12
cups..........4
cookies......8000
PICNIC ITEMS____________________
sandwiches..................4
apples........................12
cups..........................4
cookies.......................8000
PICNIC ITEMS____________________________________________________________________
sandwiches..................................................................4
apples....................................................................12
cups......................................................................4
cookies...................................................................8000

19.字符串方法 replace()

replace()方法将字符串中的某个子字符串替换为另一个子字符串,并返回替换后的新字符串。

s = 'hello world'
print(s.replace('world','python'))

20.用strip(),rstrip()和lstrip()方法删除空白字符

strip()方法删除字符串两端的空白字符,包括空格、制表符、换行符等。rstrip()方法删除字符串右端的空白字符,lstrip()方法删除字符串左端的空白字符。

s = '   hello world   '
print(s.strip())
print(s.rstrip())
print(s.lstrip())
hello world
   hello world
strip()方法可带有一个可选的字符串参数,用于指定要删除的字符,例如:
s = '   hello world  % % %'
print(s.strip('%'))

这个方法只能删除字符串两端的字符,不能删除字符串中间的字符。如果需要删除字符串中间的字符,可以使用replace()方法。

21.字符串方法 ord() 和chr()

ord()方法返回一个字符的Unicode编码,chr()方法返回一个Unicode编码对应的字符。

print(ord('a'))
print(ord('A'))
print(chr(97))
print(chr(65))
97
65
a
A

当你需要对字符进行数学运算时,这两个函数非常有用

ord('a') < ord('b')
True

22.用pyperclip模块复制粘贴文本

pyperclip模块可以让你轻松地复制和粘贴文本,而不需要使用鼠标。

import pyperclip
pyperclip.copy('hello world')
print(pyperclip.paste())
hello world

pyperclip模块只能在Windows、Mac和Linux系统上使用,不能在DOS系统上使用。

这里留一个问题

  1. 怎么在windows上安装pyperclip模块
  2. 怎么安装第三方模块到指定目录 --涉及很多个版本
  3. 怎么上级第三方模块
  4. python模块一般放在哪个文件夹的
  5. 怎么查看python模块的路径
  6. 怎么查看python的版本
  7. 怎么查看python的安装路径

项目 口令保险箱

第一步:
程序设计和数据结构
希望用一个命令行参数来运行这个程序,该参数事账号的名称,例如账号的口令剪切到粘贴板。这样用户就能将他粘贴到口令输入框。这样用户就有了很长而且复杂的口令,又不用记住他们。如果用户忘记了口令,他可以运行程序并输入账号的名称来找回口令。

import pprint
PASSWORDS = {'email': 'F7minlBDDuvMJuxESSKHFhTxFtjVB6',
'blog': 'VmALvQyKAxiVH5G8v01if1MLZF3sdt',
'luggage': '12345'}
pprint.pprint(PASSWORDS)

第二步:
处理命令行参数

import sys
import pyperclip
if len(sys.argv) < 2:
    print('Usage: python password.py [account] - copy account password')
    sys.exit()
account = sys.argv[1] # first command line arg is the account name
if account in PASSWORDS:
    pyperclip.copy(PASSWORDS[account])
    print('Password for ' + account + ' copied to clipboard.')
else:
    print('There is no account named ' + account)

第三步:
运行程序

python password.py email
20250102后面的项目这周末在补充   还得研究一下命令行带参数运行  以及bat文件生成

标签:spam,print,world,字符串,操作,方法,hello
From: https://www.cnblogs.com/lzd139/p/18625128

相关文章

  • 使用指针操作Jobs示例
    用指针传入Jobs操作对于外部类型为传统数据类型的集合来说效率是比较高的,以下是示例代码: usingSystem;usingSystem.Runtime.InteropServices;usingUnity.Jobs;usingUnity.Burst;usingUnity.Collections.LowLevel.Unsafe;usingUnityEngine;publicclassTestClass......
  • git操作详解
    git常见操作git多次测试后 使用gitreset--soft节点再次commit远程回滚使用gitpush-forigin节点:分之名称回滚到上次gitreset--hard不保留本地更改撤销修改:gitcheckout--readme.txt(还未添加到暂存区)gitresetHEAD(已经上传到了暂存区)分......
  • leetcode热题100(394. 字符串解码)c++
    链接:394.字符串解码给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格......
  • Netlogon Remote Protocol (NRPC) 是 Microsoft Windows 操作系统中用于支持 Netlogon
    NetlogonRemoteProtocol(NRPC)是MicrosoftWindows操作系统中用于支持Netlogon服务的一个网络协议。这个协议主要用于客户端与域控制器之间进行身份验证和其他安全相关操作。NRPC是Windows网络中的重要协议之一,通常与ActiveDirectory(AD)和Kerberos身份验证系统......
  • python文件操作相关(excel)
    python文件操作相关(excel)1.openpyxl库openpyxl其他用法创建与删除操作单元格追加数据格式化单元格合并单元格插入图片公式打印设置保护工作表其他功能2.pandas库3.xlrd和xlwt库4.xlsxwriter库5.pyxlsb库应用场景参考资料在Python中,操作Excel文件通......
  • App内测究竟好在哪?又该如何操作?
    App内测的好处提前发现问题在App正式面向广大用户发布之前,通过内测可以让一小部分特定用户群体先使用,这能帮助开发者更早地发现软件中存在的功能缺陷、兼容性问题、操作流程不顺畅等各类漏洞。例如,一款电商App在内测时,可能会发现商品搜索功能不够精准,部分用户在搜索想要......
  • 阅读教材《庖丁解牛Linux 操作系统分析》 第十章:KVM及虚拟机技术
    阅读教材《庖丁解牛Linux操作系统分析》第十章:KVM及虚拟机技术关于KVM(Kernel-basedVirtualMachine)和虚拟机技术,以下是一些常见的学习内容和问题:学习内容:KVM基础知识:KVM是Linux内核的虚拟化模块,通过硬件虚拟化支持(如IntelVT-x或AMD-V)提供虚拟机支持。理解KV......
  • 链表操作<下>节点的删除和销毁
    注意点:1:悬空指针的处理,释放后如果要再次使用要对其指为空指针2:数据;排序可以用到冒泡排序的方法来解决/用于判断该链表是否为空boolempty(Node*list){returnlist==NULL;//链表不存再就会执行true,否则false;}voidshowList(Node*head){if(empty(h......
  • 在 Python 中,如何将日期时间类型转换为字符串?
    在Python中,将日期时间类型转换为字符串可以通过以下几种方式来实现:方法一:使用strftime()方法fromdatetimeimportdatetimenow=datetime.now()formatted_string=now.strftime("%Y-%m-%d%H:%M:%S")print(formatted_string)  strftime()方法可以根据指定的格......
  • worker子线程是否支持异步操作?
    Worker子线程支持异步操作。在前端开发中,Worker子线程(通常指WebWorker)被设计为在浏览器后台独立运行,以处理可能阻塞主线程的任务,从而保持页面的响应性。这种机制允许开发者将一些耗时的操作,如复杂的计算或数据处理,移至Worker子线程中执行,而不会干扰到主线程上的用户界面更新和用......