如何在两个字符之间获取文本
How to get text between two characters?
|text to get| Other text.... migh have "|"'s ...
我怎么能得到text to get
的东西从字符串(并删除它)?
应该是第一个匹配
var test_str = "|text to get| Other text.... migh have '"|'"'s ...";
var start_pos = test_str.indexOf('|') + 1;
var end_pos = test_str.indexOf('|',start_pos);
var text_to_get = test_str.substring(start_pos,end_pos)
alert(text_to_get);
你不需要正则表达式;对于这样一个简单的任务,启动正则表达式引擎完全是多余的。
只使用基本的字符串操作:
function getSubStr(str, delim) {
var a = str.indexOf(delim);
if (a == -1)
return '';
var b = str.indexOf(delim, a+1);
if (b == -1)
return '';
return str.substr(a+1, b-a-1);
// ^ ^- length = gap between delimiters
// |- start = just after the first delimiter
}
print(getSubStr('|text to get| Other text.... migh have "|"s ...', '|'));
// Output: text to get
现场演示。
获取方式:
"|text to get| Other text.... migh have '"|'"'s ...".match(/'|(.*?)'|/)
删除:
"|text to get| Other text.... migh have '"|'"'s ...".replace(/'|(.*?)'|/, "")
我不是正则表达式的专家,所以如果有人有改进,请编辑。
string = '|text to get| Other text.... migh have "|"''s ...';
string = string.replace(/^'|[^|]*'|/, '');
您必须通过使用match
获得您想要的文本,然后运行replace
:
var text = "|text to get| Other text.... migh have '"|'"'s ...";
text.replace(text.match(/'|([^|]*)'|/)[1], "");
您应该查找以下函数:
split()
substr()
根据你想如何解决你的任务可以使用。
相关文章:
- 如何检查两个字符串是否具有相同的字符,包括特殊字符
- 如果两个跨度有数据,则添加字符
- 如何在jQuery中搜索两个字符之间的字符串
- 使用 JavaScript 中的正则表达式替换大文本中两个字符之间的每个出现的字符串
- Javascript 密码不应包含用户的帐户名或用户全名中超过两个连续字符的部分
- 电子邮件验证不接受仅包含两个字符的域
- 如何完成此循环?连接前面的两个字符
- 如何使用jQuery获取url的最后两个字符
- Javascript-使用Regex获取两个字符之间的字符
- Regex表达式,用于替换两个字符(包括字符)之间的字符串
- 通过JQuery在网页上的两个字符之间放置空格
- 如果两个波浪号字符之间的字符计数大于60,则在两个波浪字字符之间添加波浪号
- javascript:如何使用regex删除两个特殊字符之间的逗号(,)
- 如何匹配两个字符内的重复模式
- 在javascript中组合使用连字符连接的两个字符串
- Regex/Javascript;否定地选择两个字符的重复
- 匹配单词中两个相等的字符,并替换为一个RE
- 正则表达式不匹配序列中的两个相同字符
- 如何提取两个字符之间的字符串
- 如何在 javascript 中替换两个声明字符之间的字符串