首页
学习
活动
专区
工具
TVP
发布

String(字符串)

概述 字符串是Python中最常用的数据类型,通常我们使用引号(单引' 或 双引" 或 三引号""")来创建字符串。 在python3中,所有的字符串都是Unicode编码。...下面我们如何用不同的引号来创建字符串: a = u'我是字符串' b = u"我是字符串" c = """我是字符串 我是字符串 我还是字符串 """ 由上面看出,三引号括起来的字符串可以有多行。...字符串内置函数 在python中字符串内置函数提供了各种字符串处理能力,下面我们看几个常用的函数应用示例: 字符连接和切割 在python中提供了以下函数完成连接和切割功能: join 以指定的字符串将元组...find find(str, beg=0, end=len(string)),查找str是否包含在字符串中,若指定了beg和end,则在beg和end范围中查找,若找到则返回开始的索引值,否则返回-1...去字符串前后空格 去除字符串的空格需要用到以下三个字符串内置函数: lstrip 去除字符串左边的空格 rstrip 去除字符串右边的空格 strip 去除字符串左右两边的空格,即把lstrip和rstrip

1.7K70

String字符串

-1 9 index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在字符串中会报一个异常. 10 isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返...18 join(seq) 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 19 len(string) 返回字符串长度 20 ljust(width[, fillchar...27 rfind(str, beg=0,end=len(string)) 类似于 find()函数,不过是从右边开始查找. 28 rindex( str, beg=0, end=len(string))...rstrip() 删除字符串字符串末尾的空格. 31 split(str="", num=string.count(str)) num=string.count(str)) 以 str 为分隔符截取字符串...33 startswith(str, beg=0,end=len(string)) 检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。

66020
您找到你想要的搜索结果了吗?
是的
没有找到

【C++】STL 容器 - string 字符串操作 ① ( string 字符串 简介 | string 字符串 与 char* 字符串 对比 | string 构造函数 )

文章目录 一、string 字符串 简介 1、string 字符串 与 char* 字符串 对比 2、string 构造函数 3、代码示例 - string 构造函数 一、string 字符串 简介 1...、string 字符串 与 char* 字符串 对比 C++ 语言 的 标准模板库 ( STL , Standard Template Library ) 中的 std::string 是一个类 , 该类封装了...字符串 的数据和操作 ; std::string 类 的本质 是一个动态大小的字符串 , 可以包含任何字符 , 包括字母 / 数字 / 标点符号等 ; 使用 string字符串 , 需要导入 string...* 数据的容器 ; 操作区别 : char* 字符串操作 , 需要使用 string.h 头文件中的一系列字符串操作函数 ; string 类 中自身就封装了一系列字符串操作 , 如 查找 find...函数 , 删除 erase 函数 , ; 越界问题 : char* 字符串 需要提前指定大小 , 在 栈内存 / 堆内存 中分配空间 , 字符串大小不得超出边界 ; string 字符串 不需要考虑

17010

字符串string

字符串的基本信息 string 的 size() 方法返回字符串的长度 empty() 方法返回字符串是否为空。...同时 string 支持输入与输出流操作: string字符串的赋值操作 string &operator=(const string &s);    //把字符串s赋给当前字符串 string &assign...//用n个字符c赋值给当前字符串 string &assign(const string &s, int start, int n);    //把字符串s中从start开始的n个字符赋给当前字符串...string字符串的连接 string &operator+=(const string &s);    //把字符串s连接到当前字符串的结尾 string &append(const char *s...    //把字符串s中从pos开始的n个字符连接到当前字符串的结尾 string &append(int n,char c);        //在当前字符串结尾添加n个字符c string &append

13620

Redis字符串String

SDS     Redis是C语言写的,但不是直接使用C的字符串,而是使用自己实现的简单动态字符串SDS(Simple dynamic String)。    ...当键值对的键是字符串,底层使用存储字符串的SDS;键值对的值是字符串,底层使用的还是SDS,SDS的数据结构如下:     SDS样例:     内存预分配     为了避免频繁修改场景的情况下内存重新分配的情况...,会进行内存预分配,具体如下:     对SDS修改后,实际字符串长度(length属性)小于1M,程序会分配和Length同样大小的未使用字符串,如果修改后大于等于1M,则会分配1M的未使用空间,如下...len是13,free是13,即提前预分配了13个未使用字符串。    ...惰性空间释放       SDS修改,删除部分字符串后,底层不会释放已分配的内存,而是修改free的值,这样下次SDS修改新增字符串不用重新分配内存。

25210

Java字符串(String)

String是一个特殊的包装类数据。 String即可以用String str= new String("abc");的形式来创建,也可以用String str ="abc";的形式来创建。...String str = new String("abc")创建实例的过程 1首先定义一个str的String类型的引用并存放在栈中 2在字符串常量池中查看是否存在内容为"abc"字符串对象 3若存在则跳过这个步骤...字符串中的常用方法 (1) 字符串的连接 public String concat(String str) 该方法的参数为一个String类对象,作用是将参数中的字符串str连接到原来字符串的后面...String substring(int beginIndex) 该方法从beginIndex位置起,从当前字符串中取出剩余的字符作为一个新的字符串返回. (6) 字符串中单个字符的查找 字符串中单个字符的查找可以利用...ch在字符串中第一次出现的位置;如果在整个字符串中没有找到字符ch,则返回-1. (7) 字符串中多余空格的去除 public String trim() 该方法只是去掉开头和结尾的空格,并返回得到的新字符串

53820

Python基础:字符串(string)

字符串的常用操作   字符串与数组一样,支持索引操作、切片与遍历   索引、切片操作: name = 'jason' name[0] 'j' name[1:3] 'as'   遍历: for char...in name: print(char) j a s o n   python的字符串是不可变的(immutable),因此不能直接改变字符串内部的字符 s = 'hello' s[0]...如: s = 'H' + s[1:]   会重新创建一个开头为'H'字符的字符串。   ...然鹅,python2.5后用+=符号拼接字符串时python会智能的查找这个字符串有没有在其他地方被引用,如没有,就原地扩充此字符串。   ...也可以用string.join(iterable)方法拼接。   如果字符串拼接的次数较少时,用+=更快,但是如果次数很大时,join稍快一些。 参考资料: 极客时间《Python核心技术与实战》专栏

39030

String字符串常量池

String字符串常量池 作为最基础的引用数据类型,Java 设计者为 String 提供了字符串常量池以提高其性能,那么字符串常量池的具体原理是什么,我们带着以下三个问题,去理解字符串常量池: 字符串常量池的设计意图是什么...,所以,在常量池中的这些字符串不会被垃圾收集器回收 代码:从字符串常量池中获取相应的字符串 String str1 = “hello”; String str2 = “hello”; System.out.printl...代码:堆栈方法区存储字符串 String str1 = “abc”; String str2 = “abc”; String str3 = “abc”; String str4 = new String...字符串对象的创建 面试题:String str4 = new String(“abc”) 创建多少个对象?...java.lang.String.intern()返回一个保留池字符串,就是一个在全局字符串池中有了一个入口。

65310

性能优化-字符串(String)

Java6及之前的版本 String对象是对char[]封装进行实现的对象,他的数据主要有四个属性,char[],offset,count,hash,使用count和offset定位char[],获取字符串...String为什么是不可变对象 字符串不可修改防止恶意修改 hash值不可变,保证唯一性 可以实现字符串常量池 这两说明两点 字符串对象创建方式 直接使用String str="ab" 这种方式首先会先看常量池是否有值...使用String str=new String("ab") 这种方式在类编译的时候,字符串在常量池创建,然后使用new String(),同时引用常量池的引用,且在堆中创建一个string对象,再把这个字符串对象引用返回给...String对象的优化 创建超大字符串 我们日常开发中经常会拼接字符串,而我们使用+号进行拼接,会不会创建过个对象,导致性能问题呢?...String str="ab"+"cd"+"ef" 实际上编译后的代码仅仅生产了一个对象如下 String str="abcdef" 那么如果我们使用字符串变量累加呢?

66830

JNI:操作字符串String

Java字符串 & C/C++的字符串 在C/C++本地代码中访问Java的String字符串对象 在C/C++本地代码中创建Java的String字符串对象 在Java中,使用的字符串String对象是...反过来,C/C++ 可以通过一个宽字符串,或者是一个 UTF-8 编码的字符串来创建一个Java端的 String 对象 2.1 GetStringChars & GetStringUTFChars...); const char* GetStringUTFChars(jstring str, jboolean* copied); 第一个参数传入一个指向 Java 中的 String 字符串对象的 jstring...Java 中 String 内存的指针。...在调用这个函数之前必须有一个 C/C++ 分配出来的字符串,然后传入到这个函数中进行字符串的拷贝 由于 C/C++ 中分配内存开销相对小,而且Java中的String内容拷贝的开销可以忽略,更好的一点是此函数不分配内存

89040
领券