C++ 包含“关键词”就删掉改字符串 程序删除所有字符串 请教原因

花半夏 2015-06-12 10:48:38






应该是包含“厂”的字符串 删掉 比如“北京加工厂” 等,但是 运行会把 北京 、你好……一些列的词删掉 就是出来是命令行 中什么都没了 请教原因
...全文
372 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
花半夏 2015-06-16
  • 打赏
  • 举报
回复
引用 33 楼 zhao4zhong1 的回复:
所有'.'都要用L'.'代替,不要有遗漏。 关于自己是否适合编程的很简单的测试: 在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案: A里面有10处以上文字或标点错误 B里面没有文字或标点错误并敢为此跟人打赌 C里面没有文字或标点错误并且字体和排版完全与原稿一致 D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感 A不适合编程(理由:打字准确度偏低、粗心大意) B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念) C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证) D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!) 如果想从A变成B的话,到我的资源http://download.csdn.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”
恩 把 括号前都加了 L 果然删除了 非常感谢您 你这个简单测试 我也会测一下
wlcshh 2015-06-15
  • 打赏
  • 举报
回复
引用 30 楼 yan_zhao_89 的回复:
[quote=引用 29 楼 wlcshh 的回复:] 你根本就不懂STL,还用什么
请给出 具体错误/改正指示 不要这样范范的攻击 正式不懂才要学才请教 不用 永远都不会[/quote] 这不是攻击,是事实
花半夏 2015-06-15
  • 打赏
  • 举报
回复
引用 23 楼 zhao4zhong1 的回复:
所有“...”都要用L"..."代替,不要有遗漏。




还有这个删除() 留下词 为什么其他括号都能删除 这个"【】"删除不了呢
花半夏 2015-06-15
  • 打赏
  • 举报
回复
引用 29 楼 wlcshh 的回复:
你根本就不懂STL,还用什么
请给出 具体错误/改正指示 不要这样范范的攻击 正式不懂才要学才请教 不用 永远都不会
wlcshh 2015-06-15
  • 打赏
  • 举报
回复
你根本就不懂STL,还用什么
花半夏 2015-06-15
  • 打赏
  • 举报
回复
引用 24 楼 zhao4zhong1 的回复:
Q:16楼代码中locale(“chs”)为什么不用写成locale(L“chs”)?
A:http://www.cplusplus.com/reference/locale/locale/locale/index.html




这样写 并没有 把 “你”字删除 不知道什么原因?

如果locale(L“chs”)这样写 会报错 我就没改 是因为这影响 一个汉字删除不了吗?如果不改这影响大吗
赵4老师 2015-06-15
  • 打赏
  • 举报
回复
所有'.'都要用L'.'代替,不要有遗漏。 关于自己是否适合编程的很简单的测试: 在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案: A里面有10处以上文字或标点错误 B里面没有文字或标点错误并敢为此跟人打赌 C里面没有文字或标点错误并且字体和排版完全与原稿一致 D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感 A不适合编程(理由:打字准确度偏低、粗心大意) B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念) C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证) D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!) 如果想从A变成B的话,到我的资源http://download.csdn.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”
shiter 2015-06-14
  • 打赏
  • 举报
回复
vector<wstring> vecStr; 跟string有啥不一样? 赵老师
引用 24 楼 zhao4zhong1 的回复:
Q:16楼代码中locale(“chs”)为什么不用写成locale(L“chs”)? A:http://www.cplusplus.com/reference/locale/locale/locale/index.html
花半夏 2015-06-13
  • 打赏
  • 举报
回复
引用 24 楼 zhao4zhong1 的回复:
Q:16楼代码中locale(“chs”)为什么不用写成locale(L“chs”)? A:http://www.cplusplus.com/reference/locale/locale/locale/index.html
因为过周末走的比较急 都忘了道谢~! 我是刚毕业 所以 很多东西不熟悉 看别那么写 就照着搬上去 看效果 原理并不是很清楚 经常会反一些低级错误 让各位高手见笑了。 按您说的 我改了一下 现在只有 “一个汉字字符”这个没实现了 大的正则后面加上^[\u4E00-\u9FA5]$之后所有的字符船后面都会 删除一个汉字 因为昨天走之前 还没看到您这条回复 所以 还没按这条回复改 我周一去公司 改一下
iyomumx 2015-06-12
  • 打赏
  • 举报
回复
str.find("...") == std::string::npos
赵4老师 2015-06-12
  • 打赏
  • 举报
回复
Q:16楼代码中locale(“chs”)为什么不用写成locale(L“chs”)? A:http://www.cplusplus.com/reference/locale/locale/locale/index.html
赵4老师 2015-06-12
  • 打赏
  • 举报
回复
所有“...”都要用L"..."代替,不要有遗漏。
赵4老师 2015-06-12
  • 打赏
  • 举报
回复
请杜绝使用所有不带w前缀的对象 请杜绝使用所有不带L前缀的字符串常量
花半夏 2015-06-12
  • 打赏
  • 举报
回复
引用 20 楼 zhangxiangDavaid 的回复:
就是喜欢女程序员,哈哈
谢谢~ 我也很喜欢~
苏叔叔 2015-06-12
  • 打赏
  • 举报
回复
就是喜欢女程序员,哈哈
花半夏 2015-06-12
  • 打赏
  • 举报
回复
引用 16 楼 zhao4zhong1 的回复:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(void)
{
    wchar_t strTmp[1024];
    vector<wstring> vecStr;

    wcin.imbue(locale("chs"));
    wcout.imbue(locale("chs"));
    while( wcin >> strTmp )
    {
        wstring tmp = strTmp;
        if( tmp == L"end" )
            break;

        if( tmp.find(L"厂") != wstring::npos )
        {
            tmp.erase();
        }

        vecStr.push_back(tmp);
    }

    for( unsigned int i = 0; i < vecStr.size(); ++i )
    {
        wcout << vecStr[i] << endl;
    }

    return 0;
}
输入
工厂
驼背А
测试
对不去 对不起 前面的变量没换~!
花半夏 2015-06-12
  • 打赏
  • 举报
回复
引用 16 楼 zhao4zhong1 的回复:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(void)
{
wchar_t strTmp[1024];
vector<wstring> vecStr;

wcin.imbue(locale("chs"));
wcout.imbue(locale("chs"));
while( wcin >> strTmp )
{
wstring tmp = strTmp;
if( tmp == L"end" )
break;

if( tmp.find(L"厂") != wstring::npos )
{
tmp.erase();
}

vecStr.push_back(tmp);
}

for( unsigned int i = 0; i < vecStr.size(); ++i )
{
wcout << vecStr[i] << endl;
}

return 0;
}
输入
工厂
驼背А
测试


花半夏 2015-06-12
  • 打赏
  • 举报
回复
引用 16 楼 zhao4zhong1 的回复:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(void)
{
    wchar_t strTmp[1024];
    vector<wstring> vecStr;

    wcin.imbue(locale("chs"));
    wcout.imbue(locale("chs"));
    while( wcin >> strTmp )
    {
        wstring tmp = strTmp;
        if( tmp == L"end" )
            break;

        if( tmp.find(L"厂") != wstring::npos )
        {
            tmp.erase();
        }

        vecStr.push_back(tmp);
    }

    for( unsigned int i = 0; i < vecStr.size(); ++i )
    {
        wcout << vecStr[i] << endl;
    }

    return 0;
}
输入
工厂
驼背А
测试
恩 但是 为什么我这个 “ .” 老是有问题呢
赵4老师 2015-06-12
  • 打赏
  • 举报
回复
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(void)
{
    wchar_t strTmp[1024];
    vector<wstring> vecStr;

    wcin.imbue(locale("chs"));
    wcout.imbue(locale("chs"));
    while( wcin >> strTmp )
    {
        wstring tmp = strTmp;
        if( tmp == L"end" )
            break;

        if( tmp.find(L"厂") != wstring::npos )
        {
            tmp.erase();
        }

        vecStr.push_back(tmp);
    }

    for( unsigned int i = 0; i < vecStr.size(); ++i )
    {
        wcout << vecStr[i] << endl;
    }

    return 0;
}
输入
工厂
驼背А
测试
赵4老师 2015-06-12
  • 打赏
  • 举报
回复
比如下面这两个字中就暗含‘厂’: 背А
加载更多回复(13)

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧