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开始。
今天的文章js提示“未结束的字符串常量”分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/29463.html