当前位置: 首页 > 知识库问答 >
问题:

Javascipt将除第一个单词外的所有字符替换为下划线

子车鸿运
2023-03-14

我想用下划线替换字符串中除第一个单词外的所有字符,但我的代码用下划线替换所有字符。

预期结果:你好_________

var regex = /[a-z0-9,.':!?"]/gi;
var str = "Hello I'm an astronaut";
console.log(str.replace(regex, "_"));

共有3个答案

裴意
2023-03-14
var regex = /[a-z0-9,.':!?"]/gi;
var str = "Hello I'm an astronaut";
console.log(str.substr(0,str.indexOf(' ')) +str.substr(str.indexOf(' ')).replace(regex, "_"));
东门新立
2023-03-14

这是可能的实现它只是使用正则表达式虽然

var regex = /(^\S*\s*)?\S/gm;
var str = "Hello I'm an astronaut";
console.log(str.replace(regex, "$1_"));
慕容宏毅
2023-03-14

我将在这里使用拆分和正则表达式方法:

js prettyprint-override">var str = "Hello I'm an astronaut";
var first = str.substr(0, str.indexOf(' '));                      // finds first word
var rest = str.substr(str.indexOf(' ') + 1).replace(/\S/g, "_");  // find other words
console.log(first + " " + rest);
 类似资料:
  • 问题内容: 这将所有特殊字符替换为“”(空格)。 但是我尝试将破折号“-”排除为特殊字符。 这是我的尝试: 但这不是我期望的。 问 :如何进行这项工作? 问题答案: 如果要匹配除以外的所有字符,可以使用: 例如:

  • 我正在尝试创建一种方法,将小写字母和下划线的文本转换为没有下划线的文本,并且每个单词的第一个字母都是大写的。 前; 在这个页面上:如何在JavaScript中使所有单词的第一个字符大写? 我找到了这个正则表达式: 除了用空格替换下划线之外,这可以完成所有操作。我没有真正尝试过任何东西,因为我对正则表达式不是很熟悉。 如何调整这个正则表达式,使它用空格替换下划线?

  • 我想用x(下划线)替换特殊字符(regex\W),但我不想用下划线替换空白,也不想用单个下划线替换多个连续的特殊字符 示例字符串:输出: 字符串:输出: 我试过,但并不准确

  • 问题内容: 我目前在入门级Java课上,并且正在研究经典的短语猜测作业。该对象是让一个用户输入一个秘密短语,而另一个用户一次输入一个字母。在猜测之间,该短语必须显示为所有问号,但正确猜测的字母除外。到目前为止,我们的类仅涵盖了一些非常基本的方法,if- else语句和循环,但是我正在尝试研究一些字符串方法,这些方法可能会使这变得容易一些。 我所知道的,和方法,但不知道是否有它允许您更换您所选择的所

  • 问题内容: 标题基本概括了所有内容。我可以用Java将字符串从格式转换”“为“ ”的最简单/最优雅的方法是什么?我认为必须至少有一种使用正则表达式的方法。 我最初的想法是:在字符串前加一个下划线(_),将整个字符串转换为小写,然后使用replaceAll转换后跟下划线及其大写版本的每个字符。 问题答案: 另一个选择是使用Google Guava的 乔治·霍金斯(George Hawkins)对此用