如何在两个符号之间替换文字,在我的情况下"." and "/"
(不带引号)
在Stack做一些研究时,我找到了一些答案,但它们并没有多大帮助。
我认为问题是使用常用运算符作为字符串的一部分。
我尝试使用拆分
var a = "example.com/something"
var b = a.split(/[./]/);
var c = b[0];
我也试过这个:
srctext = "example.com";
var re = /(.*.\s+)(.*)(\s+/.*)/;
var newtext = srctext.replace(re, "$2");
但上述2似乎没有用。
如果有人要解决这个问题我会很高兴,并且请使用一两个例子来解释转义序列的使用。对于旁注,我尝试使用谷歌搜索,但数据对我来说没有太大帮助。
答案 0 :(得分:1)
您可以将\..*?\/
与String#replace
一起使用,以删除.
和/
之间的任何内容。
"example.com/something".match(/\.(.*?)\//)[1] // com
RegEx说明:
\.
:匹配.
文字(.*?)
:匹配除换行,非贪婪之外的任何内容并将其添加到第一个捕获的组中\/
:匹配正斜杠答案 1 :(得分:1)
试试这段代码。
var a = "example.com/something";
var textToChange = 'org';
var result = a.replace(/(\.)([\w]+)(\/)/, '$1' + textToChange + '$3');
结果将为example.org/something
$1
等于.
$2
是您要更改的字符串
$3
等于/
目前我只假设您要更改的文字是字母混合。您可以将[\w]+
更改为任何正则表达式以适合您要更改的文本。
答案 2 :(得分:1)
如果您进行一些小改动,问题中给出的示例将起作用
var a = "example.com/something"
var b = a.split(/[./]/);
var c = b[1];
alert(c);
b[1]
会在.
和/
之间为您提供字符串,而不是b [0]
答案 3 :(得分:0)
简单的事情
var a = "example.com/something"
var c = a.substring( a.indexOf( "." ) + 1, a.indexOf( "/", a.indexOf( "." ) ) );
alert(c);
替换,
a = a.replace( c, "NEW" );
alert(a);
用引号
替换它a = a.replace( c, "\"\"" );
alert(a);