题目描述
1、输入一个英文句子,句子中包含若干个单词,每个单词间有一个空格;
2、需要将句子中的每个单词按照要求加密输出。
要求:
1)单词中包括元音字符(‘aeuio’、‘AEUIO’,大小写都算),则将元音字符替换成‘*’
2)单词中不包括元音字符,将单词首尾字符进行对换
输入描述
输入只有一行,包含一个长度都不超过100的字符串,表示英文句子。
输出描述
输出只有一行,即按要求输出加密处理后的英文句子
用例
输入 | Hello world |
输出 | H*ll* w*rld |
说明 | 无 |
题目解析
简单的正则应用。
JS算法源码
/* JavaScript Node ACM模式 控制台输入获取 */
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on("line", (line) => {
console.log(getResult(line));
});
function getResult(s) {
const words = s.split(" ");
for (let i = 0; i < words.length; i++) {
if (/[aeiouAEIOU]/.test(words[i])) {
words[i] = words[i].replaceAll(/[aeiouAEIOU]/g, "*");
} else {
const arr = [...words[i]];
const tmp = arr[0];
arr[0] = arr[arr.length - 1];
arr[arr.length - 1] = tmp;
words[i] = arr.join("");
}
}
return words.join(" ");
}
Java算法源码
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
System.out.println(getResult(s));
}
public static String getResult(String s) {
String[] words = s.split(" ");
for (int i = 0; i < words.length; i++) {
Matcher matcher = Pattern.compile("[aeiouAEIOU]").matcher(words[i]);
if (matcher.find()) {
words[i] = matcher.replaceAll("*");
} else {
char[] cArr = words[i].toCharArray();
char tmp = cArr[0];
cArr[0] = cArr[cArr.length - 1];
cArr[cArr.length - 1] = tmp;
words[i] = new String(cArr);
}
}
return String.join(" ", words);
}
}
Python算法源码
import re
# 输入获取
s = input()
# 算法入口
def getResult():
words = s.split()
letter = "[aeiouAEIOU]"
for i in range(len(words)):
if re.search(letter, words[i]):
words[i] = re.sub(letter, "*", words[i])
else:
lst = list(words[i])
lst[0], lst[-1] = lst[-1], lst[0]
words[i] = "".join(lst)
return " ".join(words)
# 算法调用
print(getResult())
免责声明:
1、IT资源小站为非营利性网站,全站所有资料仅供网友个人学习使用,禁止商用
2、本站所有文档、视频、书籍等资料均由网友分享,本站只负责收集不承担任何技术及版权问题
3、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除下载链接并致以最深的歉意
4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
5、一经注册为本站会员,一律视为同意网站规定,本站管理员及版主有权禁止违规用户
6、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和IT资源小站的同意
7、IT资源小站管理员和版主有权不事先通知发贴者而删除本文
评论0