关于点的问题是用string.split 解决

2019-09-15 作者:必威平台   |   浏览(172)

环球网:据《俄罗斯商业咨询日报》12月9日消息,英国首相大卫·卡梅伦与俄罗斯总统弗拉基米尔·普京进行电话交谈,就叙利亚局势进行讨论,双方商定共同打击“伊斯兰国”组织。

普京与卡梅伦均表示,英俄两国应联手并与其他国际伙伴合作,共同打击“伊斯兰国”组织,消除恐怖主义威胁,促进叙利亚和平进程。

与此同时,卡梅伦再次强调,叙利亚现任总统巴沙尔·阿萨德必须离职。他认为,叙利亚需要建立一个可以得到大多数人民支持的新政府。

此外报道还提到,美国国务卿约翰·克里将于下周访问俄罗斯,与普京讨论乌克兰局势及叙利亚冲突问题。

关于点的问题是用string.split 解决。关于竖线的问题用 string.split解决。关于星号的问题用 string.split解决。关于斜线的问题用 sring.split解决。关于中括号的问题用 sring.split("[[](file://[//)]")解决。

工作中突然发现split不能正常使用了,查看了源码才发现是特殊字符,对于这种情况可以以下方法解决:

研究下java 源码可以发现遇到这些特殊字符会抛出异常

public final class Pattern implements java.io.Serializable{ private Node sequence { Node head = null; Node tail = null; Node node = null; LOOP: for  { int ch = peek(); switch  { case '(': // Because group handles its own closure, // we need to treat it differently node = group0(); // Check for comment or flag group if (node == null) continue; if (head == null) head = node; else tail.next = node; // Double return: Tail was returned in root tail = root; continue; case '[': node = clazz; break; case '\': ch = nextEscaped(); if (ch == 'p' || ch == 'P') { boolean oneLetter = true; boolean comp = (ch == 'P'); ch = next(); // Consume { if present if (ch != '{') { unread(); } else { oneLetter = false; } node = family(oneLetter).maybeComplement; } else { unread(); node = atom(); } break; case '^': next(); if (has(MULTILINE)) { if (has(UNIX_LINES)) node = new UnixCaret(); else node = new Caret(); } else { node = new Begin(); } break; case '$': next(); if (has(UNIX_LINES)) node = new UnixDollar(has(MULTILINE)); else node = new Dollar(has(MULTILINE)); break; case '.': next(); if (has { node = new All(); } else { if (has(UNIX_LINES)) node = new UnixDot(); else { node = new Dot(); } } break; case '|': case ')': break LOOP; case ']': // Now interpreting dangling ] and } as literals case '}': node = atom(); break; case '?': case '*': case '+': next(); throw error("Dangling meta character '" +  + "'"); case 0: if (cursor >= patternLength) { break LOOP; } // Fall through default: node = atom(); break; } node = closure; if (head == null) { head = tail = node; } else { tail.next = node; tail = node; } } if (head == null) { return end; } tail.next = end; root = tail; //double return return head; }}

本文由必威发布于必威平台,转载请注明出处:关于点的问题是用string.split 解决

关键词: