js提示“未结束的字符串常量”

来源:互联网 发布:音频解码软件 编辑:程序博客网 时间:2024/05/18 03:44

js提示“未结束的字符串常量”


有时候,突然会看到js提示“未结束的字符串常量”,这个提示,是怎么回事呢,


下面总结下原因


首先这个错误提醒,不是没有原因的,js的提醒一定会有我们做的不好的地方


一般这个提醒会在我们alert(“一段比较长的内容”);的时候出现,为啥有的可以弹出,有的却不行呢


其实这个和我们保存时的内容有关系,而我们去除内容的时候没有注意转换,如果保存的内容有空格,切换行了,那么就会提示这个,只要在取出内容的时候


过滤下空格和换行符号即可。


解决方法如下:

1、js实现代码

<script type="text/javascript">/** * 去除字符串的空格或换行符*/<!--      var questionName = "   a   b   c   ";      //左右两边的空格都去掉,结果是"a  b  c"      questionName = questionName.replace(//s*$|^/s*/g,"");      //去掉所有的空格和换行符,结果为"abc"      questionName = questionName.replace(//s+/g,"");      //去掉右边所有的空格,结果为"  a  b  c"      questionName = questionName.replace(//s+$/g,"");      //去掉左边所有的空格,结果为"a  b  c  "      //questionName = questionName.replace(/^/s*/g,"");      alert(questionName)      // --></script>

附,正则表达式中的元字符:
^ 匹配字符串的开始
$ 匹配字符串的结束

/pattern/m元字符:多行查找
/pattern/g元字符:全局匹配
/pattern/i元字符:忽略大小写

/d 匹配数字
/b 匹配单词的开始或结束
/w匹配字母或数字或下划线或汉字。
/s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。

“+”元字符规定其前导字符必须在目标对象中连续出现一次或多次。  
“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次。  
“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。


2、Java代码实现

使用正则表达式进行替换:

代码片段:

String documentTxt = EntityUtils.toString(entity,"gbk");//获取数据 
documentTxt=documentTxt.replaceAll("[\\t\\n\\r]", "");//将内容区域的回车换行去除

说明:String类的replaceAll就有正则替换功能。 \t为制表符 \n为换行 \r为回车

java正则使用:

示例方法:


public void parseTxt(String content){        Pattern p = Pattern.compile(Config.articlePtn);        Matcher matcher = p.matcher(content);        while(matcher.find()){            System.out.println(matcher.group(1));        }    }

说明:只需记住Pattern类,它的静态方法complie解析一个正则表达式生成一个Pattern对象。

然后用模型去匹配字符串,得到一个Matcher,通过matcher的find方法遍历所有的匹配。

group为正则表达式中的组,及()表达式。group(0)为原字符串,gourp(1)为匹配到的第一个组...即匹配到的组的索引从1开始。



0 0
原创粉丝点击