Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何按位置号从字符串中删除字符?_Javascript_Jquery_String - Fatal编程技术网

Javascript 如何按位置号从字符串中删除字符?

Javascript 如何按位置号从字符串中删除字符?,javascript,jquery,string,Javascript,Jquery,String,我有这样一个字符串: var str = "this is a **test"; 现在我想删除这两颗星(位置10和11)。我想要这个: var newstar = "this is a test"; 同样,我想使用它们的位置编号删除它们。我该怎么做呢?您可以使用字符串。也可以替换 > var str = "this is a **test"; > str.replace(/^(.{10})../, '$1') 'this is a test' ^(.{10})捕获前10个字符,

我有这样一个字符串:

var str = "this is a **test";
现在我想删除这两颗星(位置
10
11
)。我想要这个:

var newstar = "this is a test";

同样,我想使用它们的位置编号删除它们。我该怎么做呢?

您可以使用
字符串。也可以替换

> var str = "this is a **test";
> str.replace(/^(.{10})../, '$1')
'this is a test'
^(.{10})
捕获前10个字符,下面的
匹配第11个和第12个字符。因此,用捕获的字符替换所有匹配的字符将获得预期的输出

如果要满足位置条件加上字符编码,则正则表达式必须

str.replace(/^(.{10})\*\*/, '$1')
只有当它被放置在11号和12号位置时,它才会取代两颗星

您也可以使用
RegExp
构造函数在正则表达式内部使用变量

var str=“这是一个***测试”;
var pos=10
var num=3

警报(str.replace(新的RegExp(“^(.{pos+”})。{num+“}”),“$1”)
您也可以使用
string.replace

> var str = "this is a **test";
> str.replace(/^(.{10})../, '$1')
'this is a test'
^(.{10})
捕获前10个字符,下面的
匹配第11个和第12个字符。因此,用捕获的字符替换所有匹配的字符将获得预期的输出

如果要满足位置条件加上字符编码,则正则表达式必须

str.replace(/^(.{10})\*\*/, '$1')
只有当它被放置在11号和12号位置时,它才会取代两颗星

您也可以使用
RegExp
构造函数在正则表达式内部使用变量

var str=“这是一个***测试”;
var pos=10
var num=3

警报(str.replace(新的RegExp(“^(.{pos+”})。{num+“}”),“$1”)
您可以使用.slice两次

var str = "this is a **test";
str =  str.slice(0, 10)+ str.slice(11);
str=str.slice(0, 10)+str.slice(11);

'this is a test'

你可以用。切片两次

var str = "this is a **test";
str =  str.slice(0, 10)+ str.slice(11);
str=str.slice(0, 10)+str.slice(11);

'this is a test'
你可以用

var str = "this is a **test";

var ref = str.replace(/\*/g, '');     //it will remove all occurrences of *

console.log(ref)   //this is a test
你可以用

var str = "this is a **test";

var ref = str.replace(/\*/g, '');     //it will remove all occurrences of *

console.log(ref)   //this is a test

@AvinashRaj这是我猜的:
str.slice(
@AvinashRaj这是我猜的:
str.slice(
很好地使用
对我来说真的很有趣。
非常感谢+1。但实际上,这些字符并不相同。。请您告诉我,如果不使用
,我怎么做。
?@stack
匹配除换行符以外的任何字符。如果您还想匹配换行符,请使用
[\s\s]
而不是
只要检查一下这个例子,
var str=“这是一个?ktest”
我可以用一个变量来代替
10
?我不知道为什么它对我不起作用..使用三个点
“^(.{+num+”})..
或者用
{3}替换三个点
。如上所述,使用
将要删除的字符数保存在variableWell中。
对我来说真的很有趣。
非常感谢+1。但事实上,这些字符并不相同。
也可以告诉我如何在不使用
的情况下做到这一点。
堆栈
匹配除换行符以外的任何字符。如果您想同时匹配换行符,请使用
[\s\s]
而不是
只需检查此示例,
var str=“这是一个?ktest”
我可以使用变量而不是
10
?我不知道为什么它对我不起作用。.使用三个点
“^(.{+num+”})“
或用
{3}替换三个点
。如上所述,在变量中保存要删除的字符数