敏感字段加密

敏感字段加密

题目描述:

【敏感字段加密敏】给定一个由多个命令字组成的命令字符串:
1、字符串长度小于等于127字节,只包含大小写字母、数字、下划线和偶数个双引号;
2、命令字之间以一个或多个下划线_进行分割;
3、可以通过两个双引号来"标识包含下划线_的命令字或空命令字(仅包含两个引双引号的命令字)双引号不会在命令字内部出现;
仅对指定索引的敏感字段进行加密,替换为*,并删除命令字前后多余的下划线_。如果无法找到指定索引的命令字,输出字符串ERROR。

输入描述:
输入为两行,第一行为命令字索引K(从0开始),第二行为命令字符串S。
输出描述:
输出处理后的命令字符串,如果无法找到指定索引的命令字,输出字符串ERROR

示例 1

输入:
1
pasword_a12345678__timeout_100
输出:
pasword_*_timeout_100

参考代码

C++
#include<bits/stdc++.h>
using namespace std;

void splitsStr(vector<string> &str, string &inputs, string pattern);
int main() 
{
	int index;
	cin >> index;
	while(getchar() != '\n')
	{
	    char c = getchar();
	    break;  
	}
	string inputs;
	getline(cin, inputs);
	vector<string> str;
	string pattern = "_";
	splitsStr(str, inputs, pattern);
	int len = str.size();
	if(index > len - 1)
	{
	    cout << "ERROR" << endl;
	}else
	{
	    string ans;
	    for (int i = 0; i < str.size(); i++)
	    {
		if(index == i)
		{
		    ans += "*";
		}else
		{
		    ans += str[i];
		}
		if(i != str.size() - 1)
		{
		    ans += "_";
		}
	    }
	    cout << ans << endl;
	}
	system("pause");
	return 0;
}

void splitsStr(vector<string> &str, string &inputs, string pattern)
{
	inputs += pattern;
	bool index = false;
	for (int i = 0; i < inputs.length();i++)
	{
	    //如果当前字符是下划线,跳过当前字符
	    if (inputs[i] == '_') 
	    {
	        continue;
	    }
	    //如果当前字符是双引号,则从双引号开始,到双引号结束。
	    if(inputs[i] == '"')
	    {
		int pos = inputs.find('"',i + 1);
		string s = inputs.substr(i, pos - i + 1);
		str.push_back(s);
		i = pos;
		continue;
	    }
	    //如果当前字符不是双引号和下划线,则从当前字符开始,直至下划线结束
	    if (inputs[i] != '_' && inputs[i] != '"') 
            {
		int pos = inputs.find(pattern,i);
		string s = inputs.substr(i, pos - i);
		i = pos;
		str.push_back(s);
		continue;
	    }		
        }
}


全部评论

相关推荐

鼠鼠第一次实习,啥也不懂一直是自己一个人吃的饭,不会做工作老是被嫌弃,大人的世界是这样的吗?
我是星星我会发亮:好的mt有两种,一种愿意教你的,一种几乎什么活都不给你派让你很闲允许你做自己事情的
点赞 评论 收藏
分享
05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务