字符串的Java tokenizer

黑曼巴

我有一个文本文件,想要标记其行-但只有带有#字符的句子

例如,给定...

Buah... Molt bon concert!! #Postconcert #gintonic

...我只想打印#Postconcert #gintonic

我已经尝试了一些更改的代码...

public class MyTokenizer {

    /**
     * @param args
     */
    public static void main(String[] args) {
        tokenize("Europe3.txt","allo.txt");
    }

    public static void tokenize(String sFile,String sFileOut) {
        String sLine="", sToken="";
        MyBufferedReaderWriter f = new MyBufferedReaderWriter();
        f.openRFile(sFile);
        MyBufferedReaderWriter fOut = new MyBufferedReaderWriter();
        fOut.openWFile(sFileOut);
        while ((sLine=f.readLine()) != null) {
            //StringTokenizer st = new StringTokenizer(sLine, "#");
            String[] tokens = sLine.split("\\#");
            for (String token : tokens)
            {
                fOut.writeLine(token);
                //System.out.println(token);
            }
            /*while (st.hasMoreTokens()) {
                sToken = st.nextToken();
                System.out.println(sToken);
            }*/
        }
        f.closeRFile();
    }
}

有人可以帮忙吗?

1218985

您可以尝试使用Regex

package com.stackoverflow.answers;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class HashExtractor {

    public static void main(String[] args) {
        String strInput = "Buah... Molt bon concert!! #Postconcert #gintonic";
        String strPattern = "(?:\\s|\\A)[##]+([A-Za-z0-9-_]+)";
        Pattern pattern = Pattern.compile(strPattern);
        Matcher matcher = pattern.matcher(strInput);
        while (matcher.find()) {
            System.out.println(matcher.group());
        }
    }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章