需求如下: 将一串字符转换为标准的分隔符字符串 如:",,,,a,svv,ss,,v,,v,,," 转换后:"a,svv,ss,v,v" js实现代码: 多用于后台中,关键词替换,自动将空格,全角逗号,统一替换为半角逗号,并将多个逗号合并
//供使用者调用 function trim(s){ return trimRight(trimLeft(s)); } //去掉左边的空白 function trimLeft(s){ if(s == null) { return ""; } var whitespace = new String(" \t\n\r"); var str = new String(s); if (whitespace.indexOf(str.charAt(0)) != -1) { var j=0, i = str.length; while (j = 0 && whitespace.indexOf(str.charAt(i)) != -1){ i--; } str = str.substring(0, i+1); } return str; } //检查tag的空格 function dotag() { document.form1.tag.value = trim(document.form1.tag.value.replace(new RegExp(',',"gm"),',')); document.form1.tag.value = trim(document.form1.tag.value.replace(new RegExp(' ',"gm"),',')); document.form1.tag.value = trim(document.form1.tag.value.replace(new RegExp(',+',"gm"),',')); } [Ctrl+A 全选 注: 如需引入外部Js需刷新才能执行 ]
asp.net实现方法如下:复制代码 代码如下:
/// <summary> /// 格式化一组如:",,a,s,,,d,c"的字符串为标准的分隔字符串如:"a,s,d,c"; /// </summary> /// <param name="str">ref 需要格式化的字符</param> private void strFormat(ref string str) { string regexText = "\\,{2,}"; string[] strArray = Regex.Split(str,regexText); str = ""; foreach (string strf in strArray) { if(strf != "") { str += strf + ","; } } //以上代码得到 xx,xxx,x,xx,x, 则需要去掉最后一个逗号 既满足标准分隔符条件 str = str.Substring(0, str.Length - 1); }
正则表达式引入命名空间:复制代码 代码如下:
using System.Text.RegularExpressions;
查看更多关于一串字字符中多个逗号替换为一个 既标准分隔符的详细内容...