Javascript 在编号前添加标记或文本
我想在此文本中添加一个Javascript 在编号前添加标记或文本,javascript,regex,Javascript,Regex,我想在此文本中添加一个 SD0000000266675 - JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675 - HORACIO PALACIOS 类似这样的内容(添加br标记): SD0000000266675-杰米·安德烈斯·萨维德拉·贝坦库尔特SD0000000266688-霍拉西奥·帕拉西奥斯 问题:文本是动态生成的。var t=“SD0000000266675-JAIME ANDRES SAAVEDRA BETANCURTSD000000
SD0000000266675 - JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675 - HORACIO PALACIOS
类似这样的内容(添加br
标记):
SD0000000266675-杰米·安德烈斯·萨维德拉·贝坦库尔特
SD0000000266688-霍拉西奥·帕拉西奥斯
问题:文本是动态生成的。var t=“SD0000000266675-JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675-HORACIO PALACIOS”
var t = "SD0000000266675 - JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675 - HORACIO PALACIOS"
var p = t.indexOf(t.split(/\s/)[0], 1);
t.substr(0, p) + '<br>' + t.substr(p)
var p=t.indexOf(t.split(/\s/)[0],1);
t、 substr(0,p)+'
'+t.substr(p)
意思:取第一个单词(直到第一个空格),在字符串中的其他地方找到它,然后插入你想插入的内容
编辑:根据您的评论,对于多行:
var t = "SD0000000266675 - JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675 - HORACIO PALACIOSSD0000000266675 - JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675 - HORACIO PALACIOSSD0000000266675 - JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675 - HORACIO PALACIOSSD0000000266675 - JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675 - HORACIO PALACIOSSD0000000266675 - JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675 - HORACIO PALACIOS"
var d = t.split(/\s/)[0];
var s = t.split(new RegExp('(?=' + d + ')'));
s.shift();
s.join('<br/>')
var t="SD0000000266675-詹姆·安德烈斯·萨维德拉·贝坦库尔SD0000000266675-霍拉西奥宫殿D0000000266675-詹姆·安德烈斯·萨维德拉·贝坦库尔SD0000000266675-霍拉西奥宫殿D0000000266675-詹姆·安德烈斯·萨维德拉·贝坦库尔德0000000266675-霍拉西奥宫殿D0000000266675-詹姆·安德烈斯·萨维德拉·贝坦库尔德0000000266675-霍拉西奥宫殿D0000000266675-JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675-HORACIO PALACIOS“
var d=t.split(/\s/)[0];
var s=t.split(新的RegExp('(?='+d+')));
s、 移位();
s、 联接(“
”)
(仅在保证标识符不包含任何奇怪字符的情况下有效;如果不包含任何奇怪字符,则可以重新措辞,或者使用其中一个。如果序列以SD开头且长度至少为13,请尝试此RE(正则表达式):
替换此:
/(SD[0-9]{13,}[\s]{0,1}-[\s]{0,1}.*?)/i
与:
一美元
*在php中,您可以使用preg_replace函数来实现此功能。*它是否始终具有“SD”“在序列号的开头?序列号的长度如何?它会一直保持不变吗?@RaheelHasan:它在字符串的开头。@RaheelHasan不。长度可以改变。谢谢!你能再解释一下吗?这行得通,但我不懂空格部分。如果字符串有两个以上的序列号,它行吗?”(纤度计)如果字符串是
SD0000000266675-JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675-HORACIO palaciosd000000266675-JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675-HORACIO palaciosd000000266675-JAIME ANDRES SAAVEDRA betancurts0000000266675-HORACIO palaciosd000000266675-JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675-HORACIO PALACIOSSD0000000266675-JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675-HORACIO PALACIOS
如果我的字符串没有“sd”怎么办仅部分数字?@JuanFernandoz:Edited。不管标识符是什么,只要它的第一次出现由空格分隔,并且不包含任何RegExp特殊运算符。任何数字和字母都可以。@Raheel Nope。长度可以更改
var t = "SD0000000266675 - JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675 - HORACIO PALACIOSSD0000000266675 - JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675 - HORACIO PALACIOSSD0000000266675 - JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675 - HORACIO PALACIOSSD0000000266675 - JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675 - HORACIO PALACIOSSD0000000266675 - JAIME ANDRES SAAVEDRA BETANCURTSD0000000266675 - HORACIO PALACIOS"
var d = t.split(/\s/)[0];
var s = t.split(new RegExp('(?=' + d + ')'));
s.shift();
s.join('<br/>')
Replace this:
/(SD[0-9]{13,}[\s]{0,1}-[\s]{0,1}.*?)/i
with:
<br>$1