2016-12-25 38 views
0

我有这个问题。我该如何编写代码来搜索只有数字的字符串中的数字序列。例如对于这个字符串 123124567 我想要搜索n位数的序列,如果它重复一次或多次显示它。我如何找到一个长字符串中的数字序列是数字只有p5 js

我会告诉它例如什么,我想才达到 为123124567 显示所有2位数字序列(即是在一排),所以输出应该是 12 23 31 12 24 45 56 67 并从它表明那些重复一个或在这种情况下更多的时间 12

即时begginger,但我想教我自己,因为我正在更大的项目,我需要显示每个数字序列很长的字符串。 我试图用它的正则表达式,但后来我得到的结果一样:12 31 24 56和它不是检查,如果你真的想使用正则表达式像12 23 31 12 24 45 56 67

var textfield; 
var output; 
var submit; 

function setup() { 
    noCanvas(); 
    textfield = select("#input"); 
    output = select('#output'); 
    submit = select("#submit"); 
    submit.mousePressed(newText); 
} 

function newText() { 
    var s = textfield.value(); 

    var r = /\d\d/g; //here i would need to adjust it so to given digit length 
    var matches = s.match(r); 

    for (var i = 0; i < matches.length; i++) { 
    createP(matches[i]); 
    //at this point the results are wrong not showing all possible sequences 
    } 

    } 

回答

-1

每一个可能的两个数字序列,那么我d推荐使用谷歌搜索“正则表达式找到重复的子串”获得大量结果。

或者你可以简化你的方法并自己做匹配。将问题分解成更小的子步骤:首先编写将您的String分开的代码。然后将每个两位数号码添加到数据结构中,并在添加它们时检查重复。

+0

那么我很肯定我想摆脱正则表达式。 –

+0

虽然我的问题是如何将我的弹簧分割成重复的数字。 当我不想搜索两位数的数字时,问题变得更大,但是对于50位数的数字 –

+0

@ElKolorado您不能只使用'substring()'函数吗? –

相关问题