解决:IDE编译报错:Dangling metacharacter
Dangling metacharacter的意思是说:摇摆不定的元字符。
翻译成编程意思就是:当前字符计算有其它意思,并不能确定你到底用于什么意思。类似于中文的多义词。
如下图所示,当我们要分割字符串中“+”的时候,编译不通过。

解决办法:
第一种:将“+”写成“\\+”
public class Test {
public static void main(String[] args) {
<span class="hljs-built_in">String</span> str=<span class="hljs-string">"aaa+bbb+ccc+ddd"</span>;
<span class="hljs-built_in">String</span>[] <span class="hljs-built_in">split</span>=str.<span class="hljs-built_in">split</span>(<span class="hljs-string">"\\+"</span>);
<span class="hljs-keyword">for</span>(<span class="hljs-built_in">String</span> sp:<span class="hljs-built_in">split</span>){
System.out.println(sp);
}
}
}

启动main方法:
控制台输出:

说明分割成功了。
第二种.将“+”转成成“[+]”;

启动main方法,控制台输出:

说明分割成功了。
一般元字符还包括:“*”等。
当然,像"\";"|"在正则表达式有特殊意义,我们建议用第二种办法啊,否则可能出现另外一种意思。
比如:
public class Test {
public static void main(String[] args) {
<span class="hljs-built_in">String</span> str = <span class="hljs-string">"aaa|bbb|ccc|ddd"</span>;
<span class="hljs-built_in">String</span>[] <span class="hljs-built_in">split</span> = str.<span class="hljs-built_in">split</span>(<span class="hljs-string">"|"</span>);
<span class="hljs-keyword">for</span>(<span class="hljs-built_in">String</span> sp: <span class="hljs-built_in">split</span>) {
System.out.println(sp);
}
}
}

发现我们编译通过,但是当我启动main方法后,控制台输出:

说明当空字符串来分割了。
我们换一种方式:

启动main方法,控制台输出:

祝贺我们分割成功了。
</div>
解决:IDE编译报错:Dangling metacharacter的更多相关文章
- [转] 解决RegexKitLite编译报错
本文永久地址为http://www.cnblogs.com/ChenYilong/p/3984254.html ,转载请注明出处. 在编译RegexKitLite的时候,报错如下: Undefined ...
- 解决RegexKitLite编译报错
原地址:http://blog.csdn.net/kepoon/article/details/7586861 在编译RegexKitLite的时候,报错如下: Undefined symbols f ...
- IDEA解决 lombok 编译报错 cannot resolve method set/get 方法
首先关于lombok的介绍 https://blog.csdn.net/ThinkWon/article/details/101392808 总之,就是通过添加注解的方式,不需要为类编写getter或 ...
- org.eclipse.wst.common.project.facet.core.xml文件模板,解决eclipse编译报错。
<?xml version="1.0" encoding="UTF-8"?> <faceted-project> <fixed f ...
- 解决php编译报错configure: error: mcrypt.h not found. Please reinstall libmcrypt.
yum install -y epel-releaseyum install -y libmcrypt-devel
- xocde7下导入libsqlite3.tbd编译报错的解决办法
在xocde7下没有libsqlite3.dylib,只有libsqlite3.tbd,然后我导入了tbd.编译报错error: /Applications/Xcode.app/Contents/De ...
- wince6.0 编译报错:"error C2220: warning treated as error - no 'object' file generated"的解决办法
内容提要:wince6.0编译报错:"error C2220: warning treated as error - no 'object' file generated" 原因是 ...
- caffe编译报错解决
添加ssd中的一些层之后,编译报错: ../lib/libcaffe.so.1.0.0-rc5:对‘boost::match_results<__gnu_cxx::__normal_iterat ...
- win7 X64 使用VS2008 ->编译报错LINK : fatal error LNK1000: Internal error during Incr的解决
编译报错LINK : fatal error LNK1000: Internal error during Incr的解决 Win7 旗舰版 Microsoft Visual Studio 2008 ...
随机推荐
- python3精品解析运算符
算数运算符 +:两个对象相加 -:得到负数或者,或者一个数减去另一个数 *:两个数相乘或者是返回一个被重复若干次的字符串 /:5/2等于2.1 5//2=2(/有余数,//取整) %:取模(5%2=1 ...
- CSRF实战靶场 --致谢大哥
0X01无防护GET类型CSRF(伪造添加成员请求) 环境 靶机管理登陆 192.168.1.132 本机 192.168.1.5 首先我们登陆 test账号 然后点击 添加用户 构造出我们的url ...
- 关于web前端开发,区别用户使用的终端设备代码
对web前端开发,熟知不同的浏览器,的解析是基本技能,下面,我就向大家展示一下,如何获得当前用户所用的终端设备.车子一发动,请准备上车................... <script> ...
- jmeter源代码开发环境构建
1.下载jmeter源码:http://jmeter.apache.org/download_jmeter.cgi 2.新建-->java Project-->Next-->src- ...
- [占位符 ]
在做项目的时候,数据库中的数据会存在空值;这样,我们需要在前台给它加以判断, 如果我们不加以判断也是可行的,我们需要添加一个空白占位符 空白占位符 是个不错的选择,这样我们的页面显示数据的时候就不会 ...
- 服务安全-IAM:百科
ylbtech-服务安全-IAM:百科 IAM(身份识别与访问管理(简称大4A)) IAM(Identity and Access Management 的缩写),即“身份识别与访问管理”,具有单点登 ...
- SVN图标详解
蓝色的加号 : 把这个文件已经添加到版本控制软件内 绿色的对勾 : 客户端和服务器端的代码一致 红色的叹号 : 客户端和服务器端两边的代码不一致 黄色的叹号 : 文件冲突 蓝色的问号 : 这个文件不在 ...
- 使用ViewFlipper实现广告图片的自动轮播的效果
轮播资源图片的实现 package com.loaderman.viewflipperdemo; import android.os.Bundle; import android.support.v7 ...
- redis内存分配管理与集群环境下Session管理
##################内存管理############### 1.Redis的内存管理 .与memcache不同,没有实现自己的内存池 .在2..4以前,默认使用标准的内存分配函数(li ...
- Windows下Java JDK环境变量的配置
注意:前提是你已经在电脑上安装了JDK 1.打开控制面板—系统和安全—系统,选择高级系统设置 2.选择环境变量 3. 然后看看用户变量中有没有JAVA_HOME和CLASSPATH变量 4.新建JAV ...