当前位置: 首页 > 面试题库 >

string.split(“(?!^)”)说明

高运诚
2023-03-14
问题内容

我正在尝试将String的字符拆分为String数组。我在这里找到了解决方案。

该解决方案是完美的,但是我不知道如何.split("(?!^)")工作。我熟悉split()方法的基础知识。有人可以提供解释吗?


问题答案:

(?!^)是由否定前瞻组成的正则表达式。是用于表示字符串开头的锚。匹配所有0长度的字符串,不跟在字符串的开头。换句话说,它匹配所有0长度的字符串,
字符串的开头 除外^(?!^)``^ __

例如,在字符串中abc,将有3个匹配项:一个在a和之间b,一个在b和之间c,以及一个在之后c。在这些匹配项上进行拆分会生成所需的数组(请注意,1参数版本的split()会丢弃任何结尾的空字符串,这就是为什么结果数组中不包含任何空字符串)的原因。



 类似资料:
  • 问题内容: 我正在制作一个简单的程序,该程序将处理方程式的字符串输入中的方程式,但是在运行时,由于尝试将“ +”替换为“ +”而出现异常,因此我可以分割字符串在空间。我应该如何使用 字符串replaceAll方法替换这些特殊字符?下面是我的代码 线程“主”中的异常java.util.regex.PatternSyntaxException:在索引0 + ^附近悬挂元字符’+’ 问题答案: 接受正则

  • 问题内容: 我发现使用是众所周知的与相关的内存问题。 使用中是否存在内存泄漏? 如果是,解决方法是什么? 以下链接显示了Java中子字符串的正确用法。 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4513622 另外一个博客谈论子字符串中可能的MLK。 http://nflath.com/2009/07/the-dangers-of- st

  • 问题内容: 我有一个.txt文本文件,其中包含一些行。。我使用RequestBuilder对象加载了contains,并用word = String.split(“ \ n”);拆分了responseText。但我想知道,为什么结果包含“ \ n”部分。例如,我的文字: 结果是 非常感谢您的帮助。提前致谢。 问题答案: Windows回车()不应对您的结果产生明显的影响,也不必对传递给的正则表达式

  • 问题内容: 我的代码是: 并给出输出。的源代码是: 并且文档说: 该方法的工作方式就像通过调用带有给定表达式且限制参数为零的两个参数split(java.lang.String,int)方法。因此,结尾的空字符串不包括在结果数组中。 例如,字符串“ boo:and:foo”通过这些表达式产生以下结果: 如果我打印字符串,则有: 我不应该从这样的东西中得到吗? 问题答案: 不,有五个是正确的,如您引

  • 问题内容: 我有一个字符串: 我想在所有运算符上拆分字符串,但将运算符包括在数组中,因此结果数组如下所示: 我目前有这个: 这非常接近,它给出: 我有什么办法使多个字符运算符像我希望的那样出现在数组中? 作为不那么重要的第二个问题,正则表达式中是否有办法从字母周围修剪空格? 问题答案: 这应该做。一切都很好地存储在中。

  • 本文向大家介绍C# 中string.split用法详解,包括了C# 中string.split用法详解的使用技巧和注意事项,需要的朋友参考一下 第一种方法 输出下面的结果: ab deab deab de 第二种方法 我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对多个字 符进行分割: 可以输出下面的结果 ab ab ab 以上所述是小编给大家介绍的C# 中string.split