我正在尝试制作一个标记源代码的程序。我应该如何使用拆分来对此进行标记:
if a == b
b = c
这是我的代码:
String WITH_DELIMITER = "((?<=%1$s)|(?=%1$s))";
^来自stackoverflow的人提供了这个^
String[] tokens = newfile1.split(String.format(WITH_DELIMITER, "(==)|(\\=)"));
此代码生成:
if
a
=
=
b
b
=
c
但我希望它是
if
a
==
b
b
=
c
答案 0 :(得分:0)
按照评论中的建议拆分空白是一种可能性。稍微好一点的方法是使用单词边界,这样它就可以在没有空格的输入上工作(比如<%= simple_form_for ([@playlist, current_user.playlist.songs.build]) do |f| %>
):
if a==b then b=c
这将生成一些空标记,其中一次有多个匹配(即,空格后跟一个单词边界,反之亦然),如下所示:pattern = "\\s*\\b\\s*"
,所以你必须先将它们过滤掉