【问题标题】:Java - Spintax , what should i do?Java - Spintax,我该怎么办?
【发布时间】:2014-03-13 12:17:45
【问题描述】:

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

我的 C# 代码:

        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;

    }

我已将代码更新为

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;
}

像魅力一样工作 :D 感谢大家的支持..

【问题讨论】:

  • 来自维基百科:大多数使用旋转内容被认为是黑帽 SEO 垃圾邮件做法。这是因为大多数旋转内容是通过自动化方法产生的,并且被认为是人类不可读的。此类内容仅可用于纯粹用于 SEO 的非编辑网站上的大量发布;根据定义,垃圾邮件。
  • 我的客户要求该功能:(
  • 好的。只是想提一下:o)

标签: java spintax


【解决方案1】:

你需要转义括号

 String pat = "\\{[^{}]*\\}";

【讨论】:

  • 你还是遇到同样的问题??那应该处理非法重复。也许问题已经转移了?
猜你喜欢
  • 2021-10-01
  • 2012-08-30
  • 1970-01-01
  • 1970-01-01
  • 2014-03-07
  • 2017-03-03
  • 2021-08-06
  • 2014-12-06
  • 2010-09-18
相关资源
最近更新 更多