繁体   English   中英

正则表达式或jQuery的某些字符后拆分字符串

[英]regex or jquery to split string after certain character

我有一个像这样的字符串:

方济会圣弗朗西斯健康-印第安纳波利斯

我需要提取“-”之后的所有内容(包括破折号本身)并在第二行中输出。如何提取“-”之前的所有内容?? 正则表达式还是jQuery?

'-'前面的字符串将是动态的,并且可以具有不同数量的字母...

都不行 我只是将本机.split()函数用于字符串:

var myString = 'Franciscan St. Francis Health - Indianapolis';
var stringArray = myString.split('-');
//at this point stringArray equals: ['Franciscan St. Francis Health ', ' Indianapolis']

创建完stringArray变量后,就可以用任意方式输出原始字符串的片段,例如:

alert('-' + stringArray[1]); //alerts "- Indianapolis"

编辑
要解决评论者的后续问题:“如果连字符后的字符串中包含另一个连字符,该怎么办?”

在这种情况下,您可以执行以下操作:

var myString = 'Franciscan St. Francis Health - Indianapolis - IN';
var stringArray = myString.split('-');
//at this point stringArray equals: ['Franciscan St. Francis Health ', ' Indianapolis ', ' IN']

alert('-' + stringArray.slice(1).join('-')); //alerts "- Indianapolis - IN"

.slice().join()都是JS中的本机Array方法,而join()与之前使用的.split()方法相反。

正则表达式还是jQuery?

错误的二分法 使用String.split MDN

var tokens = 'Franciscan St. Francis Health - Indianapolis'.split('-');
var s = tokens.slice(1).join('-'); // account for '-'s in city name
alert('-' + s);

可能不需要正则表达式或jquery。 应该这样做:

var arr = 'Franciscan St. Francis Health - Wilkes-Barre'.split('-');
var firstLine = arr[0]
var secondLine = arr.slice(1).join('-');

理想情况下,您的数据将存储在两个单独的字段中,因此您不必担心拆分字符串以进行显示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM