第四篇:strings

妙用linux strings命令 开发实战经验,还是很重要的。一个小小的linux命令strings,能帮人省掉很多麻烦,加强心安。在后续的文章中,会多分享一些开发实战方面的经验、技巧等干货,希望对初入职场的人有帮助。职场不易,都有压力,每位大侠都曾经是菜鸟,只要不断学习、积累并总结,就会有进步,祝好。 阅读详情

1.一点,两点都一样

前面已经说了。string可以用““ 也可以使用‘ ’。那它为什么要用两种方式表示呢。其实这样会有不少方便之处:

>>> 'I'm'
SyntaxError: invalid syntax
>>> 'I"m'
'I"m'
>>> "I"m"
SyntaxError: invalid syntax
>>> "I'm"
"I'm"

除非你坚持还用下面的方式:

>>> 'I\'m'
"I'm"

 

2.转义字符

和c/c++差不多

>>> s = 'a\nb\tc'
>>> s
'a\nb\tc'
>>> print(s)
a
b	c
>>>len(s)
5

转移字符参考:

 

注意,如果转义字符没有意义,python会多加一个\:

>>> x = "C:\py\code"           # Keeps \ literally
>>> x
'C:\\py\\code'
>>> len(x)
10
>>> path = r'C:\new\text.dat'
>>> path                          # Show as Python code
'C:\\new\\text.dat'
>>> print(path)                   # User-friendly format
C:\new\text.dat
>>> len(path)                     # String length
15


3.三个点:块string:

用三个点的标识就可以记录多行string了。下面的例子'''.....''' 也可以改成""".....""" (一点两点都一样嘛)

>>> h = '''
Hello,
World
'''
>>> h
'\nHello,\nWorld\n'
>>> print(h)

Hello,
World

那么块string有什么作用呢?

1.表示多行string。

2.多汗注释。:)

我在eclipe里创建一个python文件,文件创建说明就是这么注释的:

'''
Created on 2013-4-27

@author: xxxxxx
'''

 

4.基本的string操作

*真的很好用呀:

>>> print('------------------------------30----------')
------------------------------30----------
>>> print('-'*30+'30'+'-'*10)
------------------------------30----------

你看看,第一种方法要打出30个’-‘, 然后打出30, 再打出10个‘-’。好烦呀。

下面显然会简洁一点:

来30个‘-’,再贴上字符串‘30’, 最后再贴上10个‘-’


注意:string 和 number 不存在+ - / 的关系:

‘hello' + 9: wrong, 不会自动转换9

 

延用上面的例子。我要看看30是不是在string里,结果显示的确在的。

>>>"30" in ouput
True

这里又用到了in.注意in的多种用途。

 

5.下标

这个看起来太简单了。直接上例子足以。

下标操作:

>>> h = 'asdn bsdn csdn ... zsdn'
>>> h[0]
'a'
>>> h[0:2] #冒号表示0到2,[...)。包括0, 不包括2
'as'
>>> h[1:3]
'sd'
>>> h[:-1]
'asdn bsdn csdn ... zsd'
>>> h[2:]
'dn bsdn csdn ... zsdn'

说明:

与MATLAB下标操作类似。这里用:表示’直到‘的意思。

1:3   这是指:1到3

1:     这是指: 1到最后

:5     这是指: 最前面到5

并且这里指的是闭开区间。与c++的STL里面[begin...end)类似。

如果要增大步长间隔,可以这么用:

>>> h[1:10:2] #[1, 10) 步长为2
'snbd '
>>> h[::2] #头到尾,步长为2
'ad sncd . sn'

注意这边与MATLAB不太一样,MATLAB中,步长是写在中间的,如[1:2:10]

 

当然下标不仅仅是变量的权利:

>>> 'spam'[1:3] #没有变量指向的object也可以使用下标等其它操作符。以后不再说明。
'pa'

 

当然,既然负数也可以表示下标,我们也就可以倒着玩了:

>>> 'hello'[::-1]
'olleh'
>>> 'hello'[3:1:-1]
'll'
>>> 'helio'[3:1:-1]
'il'

这种方法,也可以用slice函数来表示(与前面实例类似)

>>> 'hello'[slice(None, None, -1)]
'olleh'
>>> 'hello'[slice(3, 1, -1)]
'll'
>>> 'helio'[slice(3,1,-1)]
'il'

 

6.string转换

转到string:

>>> '42'+1

Traceback (most recent call last):
  File "<pyshell#152>", line 1, in <module>
    '42'+1
TypeError: cannot concatenate 'str' and 'int' objects
>>> str(42)
'42'
>>> str('42')
'42'
>>> repr('42')
"'42'"
>>> 

可以发现,str函数可以转到string。 repr更加傻瓜,直接包一层。

 

转到其它类型:

int(str)

float(str)

......

 

字符的转换:

#ascii码数对应数字转换。
>>> ord('s')
115
>>> chr(115)
's'

 

7.sring修改

string属于’不变序列‘。还记得tuple吗?所以下面的操作时不对的:

>>>s = 'sss'
>>>s[0] = 'a' #错误。无法成功。

所以修改string后要赋值给自己:

>>> S = 'splot'
>>> S = S.replace('pl', 'pamal')
>>> S
'spamalot'

 

8.string方法

string方法的列表如图:

我觉得例子都不需要贴了吧。

 

8.格式化string

第一篇大概讲了如何格式化string。下面详细讲讲。

这个不是很常用,会尽快更新。。。


 


 


 

 





 

linux中的strings命令 一、介绍 strings命令在对象文件或二进制文件中查找可打印的字符串。字符串可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。 常用参数: -a 扫描整个文件而不是只扫描目标文件初始化和装载段 -f 在显示字符串前先显示文件名 -t 输出字符的位置,基于八进制,十进制或者十六进制 二、实例 确认代码编是否译到库中去了 [taoge@localhost test]$ strings a.out | grep xxx xxx, 阅读详情

相关推荐

【iOS】【Xcode】【多国语言适配】【info.plist】【InfoPlist.strings】【Localizable.strings】如何通过Xcode对自己的App进行多国语言适配

本文介绍了如何在Xcode中为iOS应用实现多国语言适配。主要步骤包括:1)在Project的info选项中添加所需语言;2)创建Localizable.strings和InfoPlist.strings文件,前者用于自定义文本,后者处理系统级字符串;3)对于非OC代码,需创建.mm文件作为接口。文章详细说明了每个步骤的操作方法,包括如何正确添加语言、创建本地化文件及编写调用接口代码。通过使用NSLocalizedString宏和自定义接口函数,开发者可以方便地在不同语言环境下获取对应文本资源,实现应用的多

ImCode 1676

为什么iOS的.strings文件不能直接给Android用?Localizable.strings2Excel两步搞定跨平台本地化

Localizable.strings2Excel 是一款 Python 命令行工具,可在 **iOS 的 .strings 本地化文件** 与 **Excel** 之间互相转换,也能在 **Android 的 strings.xml** 与 Excel 之间互相转换,甚至能把 iOS 的 .strings 文件**一键转成** Android 的 strings.xml——跨平台多语言本地化,两

gitblog_00267的博客 412

strings.Cut 使用详解

特性说明官方支持Go 1.18+ 标准库,长期兼容核心优势更高效、更直观的单次字符串切割性能比 SplitN 快 2 倍,比正则快 80 倍内存效率零内存分配(相比 Split 的切片分配)使用场景键值对解析、简单文本分割、需要知道是否匹配的场景替代方案多分隔符用 Split;复杂模式用 regexp场景传统方法使用 Cut 的优势键值对解析更直观,避免切片越界头部信息提取代码更简洁流式数据处理正则表达式性能提升 10x+未知输入处理。

幸享龙枫的博客 1701

如何一键批量导出iOS Localizable.strings到Excel?Localizable.strings2Excel多语言翻译实战指南

Localizable.strings2Excel 是一款 Python 命令行工具,可一键将 iOS 的 Localizable.strings 多语言文件批量导出为 Excel 表格,也支持 Excel 与 strings、Android strings.xml 之间的双向转换,是 App 多语言翻译工作流的得力助手。 ## 为什么需要 iOS strings 文件转 Excel? 多语言

gitblog_00903的博客 686

Go标准库精讲:strings、fmt、io

strings包覆盖日常字符串操作, Builder做高性能拼接。fmt包用格式化动词控制输出, %v和%+v调试最常用。io.Reader和io.Writer是IO体系基石, bufio加缓冲层减少系统调用。Builder复用务必先Reset, 这是踩过最痛的坑。

白话机器学习 91

【Golang】Go语言字符串处理库--strings

在Go语言中,strings包是一个非常重要且功能丰富的标准库,它提供了一系列用于操作字符串的函数。从基本的字符串查找、替换、分割到高级的比较、格式化等,strings包几乎涵盖了所有字符串处理的需求。

景天科技苑 3万+

iOS 本地化的 strings 文件

iOS 本地化的 strings 文件 很多本地化都教程都提到了如何去做多语言的.strings文件, 然后在代码中调用NSLocalizedString(key, comment)就好了。 这里来说下.strings文件。 .strings 文件 在创建 project 时,Xcode 会自动生成InfoPlist.strings。InfoPlist.strings是用来...

THMAIL的博客 1604

Palantir解密:说人话,到底什么是“本体”?

笔者2018年在云计算公司开展政企数字化专项时,便意识到全面数字化进程背后存在大量未知领域,尤其是未来数字世界的底层架构如何构建这一关键问题。可惜因为种种原因,连那几个小专项最终都未能落地,也就无从深入了。近期看了很多有关Palantir的材料,倒觉得这像是新硅谷(区别于比尔盖茨、扎克伯格等主导的硅谷时代)交出的一份关于“数字世界底层架构”的答案,至于这个答案是否成立、有没有更优解、我们本土对标的版本是什么,可能都还待看。《Palantir解密》系列尝试通过解析Palantir,来系统回答这一问题。

SZSDQJC的博客 2157

Android strings.xml多语言文件如何高效管理?Localizable.strings2Excel与Excel双向转换实战教程

Localizable.strings2Excel 是一个基于 Python 的命令行工具,专为 **Android strings.xml 与 Excel 双向转换**、iOS strings 文件与 Excel 互相转换而设计。无论是多语言翻译协作、批量修改文案,还是 iOS 与 Android 跨平台文案迁移,它都能通过一条命令帮你搞定。 ## 为什么 Android 多语言文件难管理??

gitblog_00919的博客 943

数学之美 | 图论和网络爬虫

文章目录概述图论网络爬虫分析BFSDFSBFS + DFS参考资料 概述 这篇文章主要给大家介绍一下计算机算法中非常重要的一部分——图论,以及它在生活中的应用——网络爬虫。   图论 离散数学是当代数学的一个重要的分支,也是计算机科学的数学基础。它又包括四个分支,而图论便是其中一支,另外三个分别是:数理逻辑、集合论、近代数学。 图论中的图由一些节点和边构成,比如下面这张图 。 在图论中一个很基础...

小小酥梨的博客 3231

SAP EWM 内向交货流程(一)

本文介绍了SAP EWM系统中内向交货单的基本配置与操作流程。

huqinghai的专栏 2398

一个搜索框搜遍 26 个磁力站:免费跨平台磁力搜索工具 magnetW

magnetW 把 26 个磁力资源站装进一个本地搜索框,免费,覆盖 Windows、macOS 和 Linux 三个平台。它替你并发查询、统一汇总磁力搜索结果,省掉逐个网站搜索、来回切标签页的功夫。项目已停止维护,现有版本仍可正常使用。 ## 它解决什么痛点 - 一个关键词要挨个网站搜,结果散在几十个标签页 - 哪个站更新快、哪个文件大,得反复切换页面比对 - 某站规则失效后,传统做法只能干

gitblog_00945的博客 196

金融科技创新中人工智能的应用:8篇优质论文精选(含2023)

随着科技的飞速发展,金融领域正经历着前所未有的变革。在这个过程中,人工智能技术发挥着越来越重要的作用。为了深入探讨金融人工智能的研究和应用,享享特地整理了几篇金融人工智能方面的论文,大家可以看一下金融人工智能方向最新的研究成果!面向金融领域的大型语言模型本文介绍了BloombergGPT,一个基于广泛金融数据训练的500亿参数模型。基于彭博(Bloomberg)广泛数据来源,建立了一个基于彭博数据的3630亿令牌数据集,并结合了额外3450亿通用数据令牌。

2401_82426425的博客 3212

使用Localizable.strings2Excel本地化转换工具的10个常见问题与解决方案:实战避坑FAQ清单

做 App 多语言开发时,iOS 的 `Localizable.strings`、Android 的 `strings.xml` 往往要交给翻译团队维护,而 **Localizable.strings2Excel** 正是解决这一痛点的本地化转换工具:它能在 **iOS strings 文件与 Excel、Android strings.xml 与 Excel 之间双向转换**,还能把 iOS s

gitblog_01097的博客 1023

【局部路径规划模块地图算法】基于势场地图的VFH、VFH+、VFH*算法(附C++代码)

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对基于地图的方法–VFH、VFH+、VFH*算法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。

qq_35635374的博客 1686

Superpowers与 OpenSpec、Spec Kit 对比

按照官方仓库定义,Superpowers 是一套构建在 composable skills 之上的完整软件开发工作流。它不是单纯的 prompt 集合,而是把一系列工程动作做成默认流程。一个需要明确的点:Superpowers 并不只偏 Claude Code,根据。

人不风流枉少年 1813

如何快速上手多语言转换工具Localizable.strings2Excel?Python 2环境搭建3步完整教程

Localizable.strings2Excel 是一款基于 Python 的**多语言转换工具**,支持 iOS strings 文件与 Excel 互转、Android strings.xml 与 Excel 互转,还能把 iOS 本地化文件直接转换成 Android 的 strings.xml。本文先带你用 3 步搭好 Python 2 环境,再用 5 条命令快速上手,零基础也能顺利跑通第

gitblog_00406的博客 188

【DeepSeek R1构建本地RAG知识库】数据结构化清洗-知识图谱制作、使用、dify集成

本文探讨了在构建本地RAG(Retrieval-Augmented Generation)系统时,如何通过引入知识图谱来增强系统的知识理解能力。传统的向量数据库和嵌入模型虽然能处理语义匹配,但无法有效捕捉知识间的关联性。知识图谱通过“实体-关系-属性”的结构化表示,能够更好地支持推理、推荐和多跳问答等高级功能。文章详细介绍了知识图谱的基本概念、制作思路,以及如何使用Neo4j图数据库进行知识图谱的构建和查询。通过实例展示了从PDF文件解析到知识图谱入库的全过程,强调了知识图谱在提升RAG系统性能中的重要作用

少说,多做 564

strings和nm命令

strings一.简介:显示文件中的可打印字符二.用法strings [option(s)] [file(s)]选项说明:-a – –all 扫描整个文件而不是只扫描目标文件初始化和装载段(缺省时,是只扫描初始化和装载段)-f –print-file-name 在显示字符串前先显示文件名-n –bytes=[number] 找到并且输出所有NUL终止符序列- 设

AngelTempt的专栏 5227

RT-DETR-R18 的轻量化 Trick:剪枝与量化在模型中的应用

RT-DETR-R18轻量化技术通过结构化剪枝、混合精度量化和知识蒸馏的组合优化,实现了显著模型压缩效果。摘要如下: RT-DETR-R18模型通过创新轻量化技术组合,在保持46.2% mAP精度的前提下,将模型大小压缩至2.1MB(压缩率78%),计算量降至3.2 GFLOPs(减少78.2%),实现移动端28ms实时推理(加速37.8%)。核心技术包括:1)渐进式结构化剪枝系统,通过L1范数重要性评估和动态剪枝调度;2)混合精度量化策略,对关键层保留FP16精度;3)教师-学生知识蒸馏框架保持模型表达能

走向CTO的路上... 1191

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Go:标准库strings.Builder

strings.Builder是Go 1.10引入的高性能字符串拼接工具,通过内部维护[]byte缓冲区实现高效拼接。相比传统+拼接方式,它显著减少了内存分配和拷贝次数,性能接近原生[]byte操作。

2303_80876582的博客 895

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

strings命令用法

strings简介 strings命令: 在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。 语法 strings [ -a ] [ - ] [ -o ] [ -t Format ] [ -n Number ] [ -Number ] [file ... ] 选项 -a --all:扫描整...

weixin_43824520的博客 4822

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

golang undefined: strings.ReplaceAll解决

编译一个开源项目的过程中,报错: undefined: strings.ReplaceAll undefined: os.UserHomeDir 使用如下命令检查golang的版本: go version 显示的结果为: go version go1.11.5 linux/amd64 需要升级golang的版本, 首先下载并安装二进制安装包: wget https://dl...

vah101的专栏 1万+

strings.Builder 使用详解

strings.Builder 是 Go 字符串处理的性能标杆;比传统拼接快 2-3 个数量级;Grow() 避免动态扩容开销;String() 无额外内存拷贝;超过 3 次拼接就用 Builder;总是优先用 WriteString 而非 Write;循环前必须调用 Grow 预分配;Builder用于使用Builder高效地构建字符串。编写方法。它最大限度地减少了内存复制。零值已准备好使用。不要复制非零的生成器。

幸享龙枫的博客 2297

golang strings api接口

用替换项替换字符串列表。多个 goroutine 可以安全地并发使用。

weixin_44575660的博客 917

再次唠叨linux中的strings命令

以前我用strings命令的频率不高, 现在越用越顺手, 而且已经是离不开strings命令了。虽然以前说过strings命令, 但今天还是要说。 主要是两大用途, 下面来说明一下: 一. 确认代码编是否译到库中去了? 在大型的开发中, 我们经常修改一两行代码, 有时候自己修改的代码并没有编到库中去(有可能是代码没有同步到linux上编译, 也有可能是有

认知 行动 坚持 1万+
上一篇: 第三篇:动态类型
下一篇: 第五篇:list
未雨
博客等级 码龄14年 4粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值