c++怎么提取字符串的一部分

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++怎么提取字符串的一部分相关的知识,希望对你有一定的参考价值。

参考技术A

C++的string常用截取字符串方法有很多,配合使用以下两种,基本都能满足要求:

find(string strSub, npos);

find_last_of(string strSub, npos);

其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子字符串首次出现的位置,否则返回-1;

注:

(1)find_last_of的npos为从末尾开始寻找的位置。

(2)下文中用到的strsub(npos,size)函数,其中npos为开始位置,size为截取大小

例1:直接查找字符串中是否具有某个字符串(返回"2")

std::string strPath = "E:\\\\数据\\\\2018\\\\2000坐标系\\\\a.shp"

int a = 0;  

if (strPath.find("2018") == std::string::npos)

a = 1;

else

a = 2;

return a;

例2:查找某个字符串的字符串(返回“E:”)

std::string strPath = "E:\\\\数据\\\\2018\\\\2000坐标系\\\\a.shp"

int nPos = strPath.find("\\\\");

if(nPos != -1)

strPath = strPath.substr(0, nPos);

return strPath;

扩展资料:

C++中提取字符串的一部分的其他代码:

标准库的string有一个substr函数用来截取子字符串。一般使用时传入两个参数,第一个是开始的坐标(第一个字符是0),第二个是截取的长度。

#include <iostream>

#include <string>

using namespace std;

int main(int argc, char* argv[])

string name("rockderia");

string firstname(name.substr(0,4));

cout << firstname << endl;

system("pause");

输出结果 rock

java取字符串后面几位数怎么取

比如现在有String s=“12345”,我想取后面3个数,代码怎么写

取字符串后3位,代码:
String s="12345";
int n=3;
String b=aa.substring(aa.length()-n,aa.length())。

拓展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。

Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。

参考资料:

Java—百度百科

参考技术A

String s = "12345";

String result = s.substring(s.length()-3,s.length());

System.out.println(result);    //输出结果为345

substring() 方法用于提取字符串中介于两个指定下标之间的字符

扩展资料:

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

语法:stringObject.substring(start,stop)

返回值:一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

说明:substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。

如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。

参考资料:

百度百科——substring

w3school——substring() 方法

参考技术B 取字符串Hello的后3位,代码:
String aa="Hello";
int n=3;
String b=aa.substring(aa.length()-n,aa.length());
参考技术C s.subString(s.length-3,s.length);

第一个参数是开始截取的位置,第二个是结束位置。本回答被提问者采纳
参考技术D substring()这个方法可以截取子字符串。
你的例子:
s.substring(s.length()-3), 即s.substring(2)

以上是关于c++怎么提取字符串的一部分的主要内容,如果未能解决你的问题,请参考以下文章

c++已经是字符串string了,怎么具体提取其中的某个字母

C语言怎么把字符串中的某一部分提取出来?

C++ 正则表达式提取子字符串

C++提取字符串里面的数字

C++怎么从一行字符串中提取想要的数字,如m=45.5,D=0.15494,l=0.89989,A=1.803,C=0.161,提前45.5等数字

c++提取2维数组