首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >爪哇-自旋税,我该怎么办?

爪哇-自旋税,我该怎么办?
EN

Stack Overflow用户
提问于 2014-03-13 12:17:45
回答 1查看 598关注 0票数 1

我刚刚用C#编写了我的程序,但我想用Java重写它。我想要创建菠菜税文本。

我的C#代码:

代码语言:javascript
复制
        static string spintax(Random rnd, string str)
    {

            // Loop over string until all patterns exhausted.
            string pattern = "{[^{}]*}";
            Match m = Regex.Match(str, pattern);
            while (m.Success)
            {
                // Get random choice and replace pattern match.
                string seg = str.Substring(m.Index + 1, m.Length - 2);
                string[] choices = seg.Split('|');
                str = str.Substring(0, m.Index) + choices[rnd.Next(choices.Length)] + str.Substring(m.Index + m.Length);
                m = Regex.Match(str, pattern);
            }

            // Return the modified string.
            return str;

    }

我已经更新了我的代码

代码语言:javascript
复制
static String Spintax(Random rnd,String str)
{
    String pat = "\\{[^{}]*\\}";
    Pattern ma; 
    ma = Pattern.compile(pat);
    Matcher mat = ma.matcher(str);
    while(mat.find())
    {
        String segono = str.substring(mat.start() + 1,mat.end() - 1);
        String[] choies = segono.split("\\|",-1);
        str = str.substring(0, mat.start()) + choies[rnd.nextInt(choies.length)].toString() + str.substring(mat.start()+mat.group().length());
        mat = ma.matcher(str);
    }
    return str;
}

很有魅力:谢谢大家的支持。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-13 12:22:13

你需要转义括号

代码语言:javascript
复制
 String pat = "\\{[^{}]*\\}";
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22378414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档