如何替换下划线之前的任何字母字符(带或不带重音)
How can replace any alphabetic characters (with or without accent) that precede underscore?
如何
替换仅在字符单独时下划线之前的任何字母字符(带或不带重音(?请用JS代码替换所需的结果。
var str = "c_est son avis ";
//Desired result:
str = "c'est son avis ";
var str = "cc_est son avis ";
//Desired result:
str = "cc_est son avis ";
var str = "Je pense que c_est son avis ";
//Desired result:
str = "Je pense que c'est son avis ";
var str = "Je pense que cc_est son avis ";
//Desired result:
str = "Je pense que cc_est son avis ";
谢谢
正
则表达式替换的简单用法是这样的: str.replace(/('b'w)'_/g,"$1'")
如果有一个字母('w
(和一个下划线('_
(,则在单词('b
(的开头匹配,然后替换为捕获组1(('b'w)
在替换字符串中$1
(和撇号。
您需要捕获组来保留部分匹配的模式(假设c_est
应该保留为c'est
,您需要保留c
,否则它将与正则表达式的其余部分一起更改(。
适用于上述所有情况。
你试过任何代码吗?
您可以使用 indexOF 获取 _ 的字符位置和空格
var n = str.indexOf("_");
var x = str.indexOf(" ");
可能最好使用正则表达式(我很糟糕(但是一个笨拙的JS方式是这样的。
var x = str.split('_');
for ( var i=0 ; i<x.length ; i++ ){
if (x[i].length == 1){
x[i] = x[i]+"'";
} else if (i < x.length-1){
console.log( i);
x[i] = x[i] + "_"
}
}
var y = x.toString()
y 将是格式化的结果
-编辑- 修复了评论中突出显示的错误。
相关文章:
- 第一个字第一个字符第二个字第二个字符,一直到数组结束
- 如何限制一个字段只接受4个数字字符作为输入,并获得'It’这是潜水警报
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- jQuery-Regex以防止任何特殊字符
- 当所有输入文本字段都为空时,禁止表单提交,但当jquery中的任何字段不为空时允许提交
- RegEx只获取特殊字符,前后不获取任何字符
- 如何使用JQuery检查输入(电子邮件)字段是否包含特殊字符
- 解析包含带$Parse的点字符的字段名称
- JS如何捕获基于键入然后删除的字符的字段验证逻辑
- jQuery-用于检查是否有任何字段不为空,然后将所有字段设为必需字段的代码
- 如何用密码保护表单中的任何字段(需要建议)
- 如果任何字段留空,如何在表单中生成错误消息
- 避免发送任何字段为空的Axax
- 当任何字段发生更改时,如何发送新值和旧值
- 当多个字段中的任何字段发生更改时触发javascript函数(onchange)
- 如何查看任何字段的值是否已更改,警告用户未保存的更改
- 如何修改现有的电子邮件CSV脚本以跳过空白行或在任何字段中具有单个零的行
- 检查至少包含一个或多个数字并包含字符的字段
- 如何以角度形式将地址或任何字段复制到另一个字段
- 如果页面的任何字段被更改,请选择发送请求的端点