C++ 如何在C++;并在字符串之间添加字符
我有一根绳子你好,福,你好 我想把它改为Hello\r\n你好吗 我想知道如何将子字符串Hello add \r\n替换为空格,并按原样添加所有其他字符串。这是为了显示多行 编辑: 我们不知道第一个子串的长度。我们不知道第一个子串会有多长C++ 如何在C++;并在字符串之间添加字符,c++,string,substring,multiline,C++,String,Substring,Multiline,我有一根绳子你好,福,你好 我想把它改为Hello\r\n你好吗 我想知道如何将子字符串Hello add \r\n替换为空格,并按原样添加所有其他字符串。这是为了显示多行 编辑: 我们不知道第一个子串的长度。我们不知道第一个子串会有多长 谢谢。要获得子字符串,您的答案取决于函数: pos参数是要作为子字符串复制的第一个字符的索引 len参数是从索引开始的子字符串中包含的字符数 返回一个新实例化的字符串对象,其值是调用该对象的指定字符串对象的子字符串 // Example: #include &
谢谢。要获得子字符串,您的答案取决于函数:
// Example:
#include <iostream>
#include <string>
int main () {
std::string str1= "Hello Stack Overflow";
std::string str2 = str.substr (0,5); // "Hello
std::cout << str2 << std::endl; // Prints "Hello"
return 0;
}
替换字符串中从索引位置开始直至索引len的部分
在某些编译器中,您可能不需要添加它,但需要包含字符串头,以确保您的代码可移植并可通过以下方式维护:
#include <string>
#包括
#包括
#包括
int main(){
std::string s=“你好,你好吗?”;
s、 替换(s.find_first_of(“”,1,“\r\n”);
std::cout不是一个完整的答案,因为这看起来像是家庭作业,但您可以使用的其他方法包括
中的std::find()
和
中的strchr()
或strcspn()
将来,我会查看以下文档:std::basic_string
的成员函数、
中的实用程序函数、
中的函数以及
中的函数,因为这些通常是您必须使用的工具。但对于这些,我应该知道有多少字符用于第一个子字符串。情况是我们不知道第一个子字符串中的字符数。string::substr
用于获取子字符串而不是替换子字符串,这是一个低效的答案,坦率地说不是OP要求的。您所做的只是获取子字符串“您好”
,您从未在字符串之间添加过字符。您仍然没有回答问题,您只是在复制我的答案。@chbchb55我们将无法找到答案,只要我们不知道提问者所指的子字符串。据我所知,我已让读者知道如何完成标题中的两项任务你在一个盘子里给提问的人做练习,我给他做练习所需的工具。他说“我想知道如何让子字符串Hello add\r\n**代替空格**,并按原样添加所有其他字符串。”
我应该添加一个附录。您可能经常使用正则表达式库来处理类似的事情。
string& replace (size_t pos, size_t len, const string& str);
// Example
int main()
std::string str = "Hello Stack Overflow.";
std::string str2 = "good";
str.replace(6, 4, str2); // str = "Hello goodStackOverflow"
return 0;
}
#include <string>
#include <iostream>
#include <string>
int main() {
std::string s = "Hello foo how are you.";
s.replace(s.find_first_of(" "),1,"\r\n");
std::cout << s << std::endl; #OUTPUTS: "Hello
# foo how are you."
return 0;
}