将字符串拆分为多个字符

达斯·维达(Darth Vader)

我想在许多字符之一(下面列出)上分割一个句子。我的正则表达式能够根据大多数字符进行拆分,但不能基于'[',']'(方括号的开头和结尾)进行拆分。如果我将字符串SPECIAL_CHARACTERS_REGEX更改为[ :;'=\\()!-\\[\\]],它将开始在字符串中的整数上进行拆分,而不是在方括号中进行拆分。如何使正则表达式在方括号而不是整数(“ []”表示所有整数)上分割。

另一个相关的问题,是否有一种方法也可以从字符串中拆分数字?例如,9pm应分为9pm

This:

private static final String SPECIAL_CHARACTERS_REGEX = "[ :;'=\\()!-]";
String rawMessage = "let's meet tomorrow at 9:30p? 7-8pm? i=you go (no Go!) [to do !]"
String[] tokens = rawMessage.split(SPECIAL_CHARACTERS_REGEX);

Gives:

Input: let's meet tomorrow at 9:30p? 7-8pm? i=you go (no Go!) [to do !]
output: [let, s, meet, tomorrow, at, 9, 30p?, 7, 8pm?, i, you, go, , no, Go, , , [to, do, , ]]

和,

This:

private static final String SPECIAL_CHARACTERS_REGEX = "[ :;'=\\()!-\\[\\]]";
String rawMessage = "let's meet tomorrow at 9:30p? 7-8pm? i=you go (no Go!) [to do !]"
String[] tokens = rawMessage.split(SPECIAL_CHARACTERS_REGEX);

Gives:
let's meet tomorrow at 9:30p? 7-8pm? i=you go (no Go!) [to do !]
[let, s, meet, tomorrow, at, , , , , p, , , , , pm, , i, you, go, , no, , o, , , , to, do]

预期产量:

{"let", "s", "meet", "tomorrow", "at", "9", "30", "p", "7", "8", "pm", "i", "you", "go", "no", "Go", "to", "do"}
wn

如果将破折号留在字符类的中间,则还需要对其进行转义。

但是,请避免将其放在角色类的开头或结尾。同样,您不需要在()这里转义,并且可能要在字符类之后*+之后使用量词

更新:为了获得预期的结果,您可以这样做。

private static final String SPECIAL_CHARACTERS_REGEX = "[ :;'?=()!\\[\\]-]+|(?<=\\d)(?=\\D)";
String rawMessage = "let's meet tomorrow at 9:30p? 7-8pm? i=you go (no Go!) [to do !]";
String[] tokens = rawMessage.split(SPECIAL_CHARACTERS_REGEX);
System.out.println(Arrays.toString(tokens));

正则表达式:

[ :;'?=()!\[\]-]+    any character of: ' ', ':', ';', ''', '?',
                       '=', '(', ')', '!', '\[', '\]', '-' (1 or more times)
 |                   OR
  (?<=               look behind to see if there is:
   \d                digits (0-9)
  )                  end of look-behind
   (?=               look ahead to see if there is:
    \D               non-digits (all but 0-9)
   )                 end of look-ahead

Working demo

输出

[let, s, meet, tomorrow, at, 9, 30, p, 7, 8, pm, i, you, go, no, Go, to, do]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python字符串拆分为多个字符

来自分类Dev

Matlab:在存在“ _”的点处将字符串拆分为多个字符串

来自分类Dev

将SQL字符串拆分为多个字符串

来自分类Dev

使用LINQ将字符串拆分为多个字符串

来自分类Dev

如何将 unicode 字符串拆分为多个字符?

来自分类Dev

将范围序列拆分为多个字符串c#,linq

来自分类Dev

将多个字符串拆分为C#中的对象列表

来自分类Dev

将数组元素拆分为多个字符串

来自分类Dev

将多个字符串拆分为多列

来自分类Dev

将一个字符串拆分为多个列表

来自分类Dev

HTML Select value 属性将结果拆分为多个字符串

来自分类Dev

使用正则表达式将字符串拆分为多个字符串

来自分类Dev

如何使用strtok()将包含空格的给定字符串拆分为多个字符串?

来自分类Dev

使用正则表达式将字符串拆分为多个字符串

来自分类Dev

[C]-将字符串拆分为2个字符串

来自分类Dev

如何将包含多个js语句的字符串拆分为字符串数组,每个字符串包含一个语句?

来自分类Dev

将一个字符串拆分为2个字符串

来自分类Dev

将一个字符串拆分为两个字符串

来自分类Dev

将字符串拆分为包含不超过n个字符的字符串的字符串列表

来自分类Dev

如何将字符串拆分为单个字符

来自分类Dev

将字符串拆分为数组(每个字符)-Swift

来自分类Dev

仅使用bash将单个字符串拆分为字符数组

来自分类Dev

如何将字符串从结尾拆分为我想要的某个字符

来自分类Dev

将字符串拆分为140个字符块

来自分类Dev

如何将字符串拆分为单个字符

来自分类Dev

Swift2-将字符串拆分为单个字符

来自分类Dev

如何将Javascript字符串拆分为少于140个字符的句子?

来自分类Dev

将字符串拆分为 jinja2 中的单个字符数组

来自分类Dev

Swift:如何将一个字符串数组拆分为多个匹配值数组?

Related 相关文章

  1. 1

    Python字符串拆分为多个字符

  2. 2

    Matlab:在存在“ _”的点处将字符串拆分为多个字符串

  3. 3

    将SQL字符串拆分为多个字符串

  4. 4

    使用LINQ将字符串拆分为多个字符串

  5. 5

    如何将 unicode 字符串拆分为多个字符?

  6. 6

    将范围序列拆分为多个字符串c#,linq

  7. 7

    将多个字符串拆分为C#中的对象列表

  8. 8

    将数组元素拆分为多个字符串

  9. 9

    将多个字符串拆分为多列

  10. 10

    将一个字符串拆分为多个列表

  11. 11

    HTML Select value 属性将结果拆分为多个字符串

  12. 12

    使用正则表达式将字符串拆分为多个字符串

  13. 13

    如何使用strtok()将包含空格的给定字符串拆分为多个字符串?

  14. 14

    使用正则表达式将字符串拆分为多个字符串

  15. 15

    [C]-将字符串拆分为2个字符串

  16. 16

    如何将包含多个js语句的字符串拆分为字符串数组,每个字符串包含一个语句?

  17. 17

    将一个字符串拆分为2个字符串

  18. 18

    将一个字符串拆分为两个字符串

  19. 19

    将字符串拆分为包含不超过n个字符的字符串的字符串列表

  20. 20

    如何将字符串拆分为单个字符

  21. 21

    将字符串拆分为数组(每个字符)-Swift

  22. 22

    仅使用bash将单个字符串拆分为字符数组

  23. 23

    如何将字符串从结尾拆分为我想要的某个字符

  24. 24

    将字符串拆分为140个字符块

  25. 25

    如何将字符串拆分为单个字符

  26. 26

    Swift2-将字符串拆分为单个字符

  27. 27

    如何将Javascript字符串拆分为少于140个字符的句子?

  28. 28

    将字符串拆分为 jinja2 中的单个字符数组

  29. 29

    Swift:如何将一个字符串数组拆分为多个匹配值数组?

热门标签

归档