javascript练习,从键盘中输入两个字符串,在第一个字符串中删除第二个字符串的字符
时间: 2023-11-27 21:20:17 浏览: 68
好的,可以使用 JavaScript 的字符串方法 `replace()` 和正则表达式来实现。具体代码如下:
```javascript
// 获取用户输入的两个字符串
var str1 = prompt("请输入第一个字符串:");
var str2 = prompt("请输入第二个字符串:");
// 构造正则表达式
var reg = new RegExp("[" + str2 + "]", "g");
// 使用 replace() 方法删除第二个字符串的字符
var result = str1.replace(reg, "");
// 输出结果
console.log(result);
```
在上面的代码中,首先通过 `prompt()` 方法获取用户输入的两个字符串,并分别存储在 `str1` 和 `str2` 变量中。然后,我们使用正则表达式构造函数 `RegExp()` 创建一个正则表达式,其中 `[" + str2 + "]` 表示一个字符集,包含了第二个字符串中的所有字符,而 `g` 则表示全局匹配。接下来,我们使用 `replace()` 方法将第二个字符串中的字符替换为空字符串,最终将删除后的结果存储在 `result` 变量中,并输出到控制台上。
注意,上面的代码只能删除第一个字符串中与第二个字符串中相同的字符,如果第二个字符串中有重复字符,也只能删除一个。如果需要删除全部重复字符,可以将正则表达式修改为 `new RegExp("[" + str2 + "]", "g")`。
相关问题
javascript练习 ,从键盘中输入两个字符串,在第一个字符串中删除第二个字符串的字符。
可以使用 JavaScript 的字符串操作方法来实现这个功能。具体实现步骤如下:
1. 获取用户输入的两个字符串,可以使用 `prompt()` 方法弹出对话框来获取用户输入。
```javascript
let str1 = prompt("请输入第一个字符串:");
let str2 = prompt("请输入第二个字符串:");
```
2. 遍历第二个字符串中的每个字符,在第一个字符串中删除相应的字符。可以使用 `replace()` 方法来实现删除操作。
```javascript
for (let i = 0; i < str2.length; i++) {
str1 = str1.replace(new RegExp(str2[i], "g"), "");
}
```
这里使用了正则表达式来匹配要删除的字符,并且使用 `g` 标志来表示全局匹配。
3. 输出删除后的字符串。
```javascript
console.log("删除后的字符串为:" + str1);
```
完整代码如下:
```javascript
let str1 = prompt("请输入第一个字符串:");
let str2 = prompt("请输入第二个字符串:");
for (let i = 0; i < str2.length; i++) {
str1 = str1.replace(new RegExp(str2[i], "g"), "");
}
console.log("删除后的字符串为:" + str1);
```
javascript练习 1.给出一个字符串(包含一些空格),请找出字符串中所有的单词。 2.从键盘中输入两个字符串,在第一个字符串中删除第二个字符串的字符。 3.使用正则表达式匹配日期格式 如2022年11月30日
好的,我来回答你的问题。
1. 给出一个字符串,找出字符串中所有的单词。
可以通过正则表达式来实现,代码如下:
```javascript
const str = "hello world, I'm a developer";
const words = str.match(/\b\w+\b/g);
console.log(words); // ["hello", "world", "I'm", "a", "developer"]
```
这里使用了 `\b\w+\b` 匹配单词的正则表达式,其中 `\b` 表示单词边界,`\w+` 表示匹配一个或多个字母数字下划线字符。
2. 从键盘中输入两个字符串,在第一个字符串中删除第二个字符串的字符。
可以先将第二个字符串转换为字符数组,然后遍历该数组,在第一个字符串中删除对应的字符。代码如下:
```javascript
const str1 = "hello world";
const str2 = "o";
const chars = str2.split("");
for (let i = 0; i < chars.length; i++) {
const char = chars[i];
str1 = str1.replace(new RegExp(char, "g"), "");
}
console.log(str1); // "hell wrld"
```
这里使用了 `split` 将第二个字符串转换为字符数组,然后遍历该数组,使用 `replace` 在第一个字符串中删除对应的字符。
3. 使用正则表达式匹配日期格式,如 2022年11月30日。
可以使用如下正则表达式匹配日期格式:
```javascript
const str = "2022年11月30日";
const dateRegex = /(\d{4})年(\d{1,2})月(\d{1,2})日/;
const match = str.match(dateRegex);
const year = match[1];
const month = match[2];
const day = match[3];
console.log(`${year}-${month}-${day}`); // "2022-11-30"
```
这里使用了 `(\d{4})年(\d{1,2})月(\d{1,2})日` 匹配日期格式的正则表达式,其中 `(\d{4})` 表示匹配 4 个数字的年份,`(\d{1,2})` 表示匹配 1 到 2 个数字的月份和日期。然后使用 `match` 方法匹配字符串,获取到匹配的年份、月份和日期,并使用模板字符串拼接成标准日期格式输出。
阅读全文