-6

次のような文字列を分割するにはどうすればよいですか

wo.rd55hello?35.7e+2CAPS!-78.00E-7

wo.rd 55 hello? 35.7e+2 CAPS! -78.00E-7
4

2 に答える 2

0

Java の新しいアプローチRegex.Split()では、区切り文字がキャプチャ グループに含まれていても、結果に区切り文字が保持されないようです。

Pattern regex = Pattern.compile(
    "[+-]?           # Match a number, starting with an optional sign,\n" +
    "\\d+            # a mandatory integer part,\n" +
    "(?:\\.\\d+)?    # optionally followed by a decimal part\n" +
    "(?:e[+-]?\\d+)? # and/or an exponential part.\n" +
    "|               # OR\n" +
    "(?:             # Match...\n" +
    " (?![+-]?\\d)   # (unless it's the beginning of a number)\n" +
    " .              # any character\n" +
    ")*              # any number of times.", 
    Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE | Pattern.COMMENTS);
Matcher regexMatcher = regex.matcher(subjectString);
while (regexMatcher.find()) {
    matchList.add(regexMatcher.group());
} 

この正規表現は、「省略された」10 進数と同じように1.、または.1正しく一致しないことに注意してください。これらのケースを含める必要がある場合は、正規表現を拡張する必要があります。

于 2013-06-04T09:57:49.233 に答える
0

この Web サイトを使用して正規表現を開発できます: http://gskinner.com/RegExr/トークンのライブラリと説明があります。また、リアルタイムのハイライトもあります。あなたは結果を見ることができます(あなたが望む)。とても使いやすく、デスクトップ版もあると思います。

于 2013-06-04T11:19:56.757 に答える