社区
C++ 语言
帖子详情
从string对象中去除标点符号.
「已注销」
2007-01-25 10:36:29
有一道题:
编一个程序,从string 对象中去掉标点符号。要求输入到程序的字符串必须含有标点符号,输出结果则是去掉标点符号的string对象.如何实现,有简单易懂的程序实现。
...全文
1162
19
打赏
收藏
从string对象中去除标点符号.
有一道题: 编一个程序,从string 对象中去掉标点符号。要求输入到程序的字符串必须含有标点符号,输出结果则是去掉标点符号的string对象.如何实现,有简单易懂的程序实现。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dr_lou
2007-01-27
打赏
举报
回复
public class myString
{
public static void main(String [] args)
{
String s = "My,Name.Is!Xu!";
char [] chs = s.toCharArray();
for(int i=0;i<chs.length;i++)
{
if(Character.isDigit(chs[i])==false && Character.isLetter(chs[i])==false)
{
chs[i]='\0';
}
}
String newString = String.valueOf(chs);
System.out.println(newString);
}
}
cutftp
2007-01-26
打赏
举报
回复
不会,只会CString
OOPhaisky
2007-01-26
打赏
举报
回复
虫子和taodm的代码不错啊
HewpKanXue
2007-01-26
打赏
举报
回复
顶一下用谓词的
taodm
2007-01-26
打赏
举报
回复
bool NotNeed(char c)
{
return ispunct(c) || isspace(c);
}
int main()
{
string s("my name is zhao,and i'm ten years old.");
s.erase(remove_if(s.begin(), s.end(), NotNeed), s.end());
cout << s;
system("pause");
return 0;
}
yantao0515
2007-01-26
打赏
举报
回复
一个简单思路
用isalpha和isnumber判断,如若两者都不是,则为符号或着空格
不知道行不?
pitter211
2007-01-26
打赏
举报
回复
fangrk(加把油,伙计!) 和taodm(taodm) 都很经典.增加了见识.区区一个串处理,引出如此多的方法.佩服.受用无穷,顶一个.
pse_sun
2007-01-26
打赏
举报
回复
一個思路:
string str = "my name is zhao,and i'm ten years old.";
string strDes = "";
for (int n = 0; n < str.length(); n++)
{
char cTmp = str.at(n);
if ((cTmp > 47 && cTmp < 58) || (cTmp > 64 && cTmp < 91) || (cTmp > 96 && cTmp < 123))
{
strDes += cTmp;
}
}
cout << strDes;
mr_moran
2007-01-26
打赏
举报
回复
该说的别人都说了,顶一个。
「已注销」
2007-01-26
打赏
举报
回复
刚我编的那一段代码会重复标点后的那个字母,如何解决?
「已注销」
2007-01-26
打赏
举报
回复
如果是一句话的话,如何把其中的空格去掉。只保留字母和数学。如何处理。
比如果是这样一句话.my name is zhao,and i'm ten years old.处理结果是:mynameiszhaoandimtehnyearsodl
「已注销」
2007-01-26
打赏
举报
回复
其实这样就可以实际:
#include<string>
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1;
cin>>s1;
string::size_type index;
for(index=0;index<s1.size();index++)
{
if(ispunct(s1[index]))
{
s1[index]=s1[index+1];
index=index+1;
}
}
cout<<s1;
}
我想问的是,如果是一名话,中间有空格的话如何处理呢?
jixingzhong
2007-01-26
打赏
举报
回复
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
cout << "Please enter a string:";
cin >> str;
cout << endl;
string filter("\",.;:?!\'");
string::size_type pos = 0;
while ((pos = str.find_first_of(filter, pos)) != string::npos)
{
str.erase(pos, 1);
}
cout << str << endl;
return 0;
}
taodm
2007-01-26
打赏
举报
回复
用remove_if加erase,看effective stl item32
DragonBill
2007-01-26
打赏
举报
回复
用string::find_first_of
fangrk
2007-01-26
打赏
举报
回复
#include <iostream>
#include <string>
#include <functional>
#include <algorithm>
using namespace std;
struct Filter:public unary_function<char,bool>
{
public:
Filter(const string& f):filter(f){}
bool operator()(char ch) const {return filter.find(ch)!=string::npos;}
private:
string filter;
};
int main()
{
Filter F("\",.;:?!)(\\/'");
string inputString;
getline(cin,inputString);
inputString.erase(remove_if(inputString.begin(),inputString.end(),F),inputString.end());
cout<<inputString;
return 0;
}
G:\test>a
Hello,This a demo of csdn's question!
HelloThis a demo of csdns question
G:\test>
todototry
2007-01-25
打赏
举报
回复
int main()
{
string str;
cout << "Please enter a string:";
cin >> str;
cout << endl;
string caps(",.\'\"");
string::size_type pos = 0;
while ((pos = str.find_first_of(caps, pos)) != string::npos)
{
str.erase(pos, 1);
}
cout << str << endl;
return 0;
}
happyzqj
2007-01-25
打赏
举报
回复
#include <iostream>
#include <string>
using namespace std;
int main()
{
string filter("\",.;:?!)(\\/");
string inputString;
cin>>inputString;
string::size_type pos=0;
while((pos = inputString.find_first_of(filter,pos)) != string::npos)
{
inputString.erase(pos,1);
}
cout<<inputString;
return 0;
}
jeelypine
2007-01-25
打赏
举报
回复
先看题目了,呵呵
网络安全竞赛进阶:从CTF到“獬豸杯”体系化攻防实战指南
网络安全竞赛正从传统的漏洞利用速度比拼,向体系化对抗与智能博弈演进。其核心原理在于模拟真实世界的高级持续性威胁(APT)环境,考察参赛者在持续对抗和数据驱动场景下的闭环安全能力。这种演进的技术价值在于,它更贴近企业实际安全运营需求,能系统性锻炼从业者的工程化、自动化及威胁研判能力。在应用场景上,它覆盖了从初始突破、内网横向移动到安全监测、溯源取证的完整攻防链条,涉及云原生、物联网、供应链安全等多个前沿领域。本文以“獬豸杯”等未来赛事范式为例,深入解析了其背后的核心能力框架、关键技术栈(如自动化工具链、威胁情
2023国赛信息安全管理与评估样题及规程解读,2024京东最新网络安全面试真题解析
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!【完整版领取方式在文末!!
网络安全流量分析实战:从HTTP、Webshell到TLS的攻防解密
流量分析是网络安全监控与事件响应的核心技术,它通过解析网络数据包来透视网络活动。其原理在于捕获并解码OSI模型各层协议(如HTTP、TLS)的原始通信数据,从而还原通信行为。这项技术的核心价值在于能够客观、实时地发现异常攻击、进行威胁狩猎与攻击溯源,是构建纵深防御体系的关键环节。在应用场景上,它广泛用于日常安全监控、应急响应、CTF竞赛以及恶意软件分析。本文聚焦于实战,深入拆解HTTP明文攻击痕迹识别、Webshell混淆流量特征剖析以及TLS加密流量元数据分析等核心内容,并融入对Wireshark、Tsh
HVV攻防实战:远控工具与Webshell流量特征深度解析与溯源
网络流量分析是网络安全防御与事件响应的核心技术,它通过对网络通信数据的深度解析,识别异常行为与潜在威胁。其原理在于,任何网络活动都会在协议层留下可观测的元数据和行为模式,即使通信内容被加密,其通信频率、数据包大小、TLS握手指纹等特征依然暴露了意图。这项技术的核心价值在于为被动防守的蓝队提供了最客观、难以篡改的“犯罪现场”记录,是从海量业务流量
中
精准定位攻击活动的关键。在HVV(护网行动)、应急响应及高级威胁狩猎等场景
中
,掌握主流攻击工具的流量特征成为溯源反制的必备技能。例如,Cobalt Strike等远
2024年网络安全最新2024国赛信息安全管理与评估样题及规程解读,蚂蚁金服内推四面
回到2023年样题,题目给到了Windows、Linux、MacOS、移动介质镜像,不出意外大概率还是AutoPsy来进行取证,毕竟AutoPsy能载入的镜像还是很多的,看题目和去年一样也是10小题,没有参加过国赛的选手肯定一脸懵,完全不知道这十题是什么东西,其实只要把文件取出来,通过Misc杂项的手法来取到题目编号,对应编号就是对应的小题,将该文件的md5值作为flag提交即可,通常有PNG JPG GIF World PPT Excel Zip Rar等。建议Windows和Linux的取证都要掌握。
C++ 语言
65,214
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章