JS中怎么删除字符串中的特定的字符?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中怎么删除字符串中的特定的字符?相关的知识,希望对你有一定的参考价值。

我有两个变量:
第一个变量a为: a="A,B,C,D,E,F";
第二个变量b有三种情况:
(b变量只有一个字符的是时候) b1="A";
(b变量有多个字符的时候) b2="B,C,D";
(b变量等于a变量的时候) b3="A,B,C,D,E,F";

我想删除a变量中和b变量相同的字符
如删除后的结果:
a1="B,C,D,E,F";
a2="A,E,F";
a3="";

求大神解答

var a="A,B,C,D,E,F";

var b="B,C,D";

var arrA = a.split(",");

var arrB = b.split(",");

var arrNew = new Array();

for(var i = 0; i < arrA.length; i++)

for(var j = 0; j < arrB.length; j++)

if(arrB(j) != arrA(i)) arrNew.push(arrA(i));

alert(arrNew.toString());

扩展资料:

关于JS删除String里的字符的方法,一般使用replace()方法。但是这个方法只会删除一次,如果需要将string里的所以字符都删除就要用到正则。

var str = "abcdaabbssaaa"

var reg = new RegExp("a","g");

var a = str.replace(reg,"");

console.log(a);

这里用 new RegExp()这个方法创建正则,第一个参数“a”指定了正则表达式的模式或其他正则表达式。后一个参数是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。

ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。

如果打印reg的结果是: /a/g 。

还有一种比较取巧的方法,就是分割成数组,再重新拼接成新的字符串。

var str = "abcdaabbssaaa";

var a = str.split("a").join("");

console.log(a);
参考技术A

最简单的方法是使用replace方法:

var str = '我是一字符串';
str.replace('一',''); // 将“一”变成空字符(删除)

参考技术B 字符串替换你可以查手册看下replace 这个函数

不过你需要替换A的时候附带","也替换掉的话,可能需要另外的方法

先把字符串分割成数组,然后循环遍历,筛选后再组合
参考技术C result = a.replace(eval("/,?"+b1+",?/"),' ').trim(' ').replace(' ',',') //b1,b2,b3替换进去。
原理:替换变量b123为空格,若trim成功则表明在首尾,否则,replace空格为,(中间)
参考技术D 如果是b2的情况,是否有可能出现"B,D"的情况?
若无?

1.b一定是a的子字符串,那么
a = (','+a).replace(','+b,'').substring(1);
2.b不一定是a的子字符串,那么
就按下面仁兄的方法做吧.

JAVA字符串中取特定字符的位置

不考虑串中多次出现该字符的问题。就假定该串中只出现了一次我们要查找位置的字符,我要得到的是该字符在串中的位置,String、StringBuffer两个类分别都有什么方法? 我只是记不清了,请大家帮忙一下
三楼的恶心,我是来问问题的又不是需求意见的,你怎么就断定我想做程序员?真晕,以后不要什么都不清楚就在那乱吠

String,一但声明了就不能变了!而StringBuffer是可变的,String声明的空间是个池里,而StringBuffer只能在堆里声明。
int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
int indexOf(int ch, int fromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引。
int indexOf(String str, int fromIndex)
返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
参考技术A int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
int indexOf(int ch, int fromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引。
int indexOf(String str, int fromIndex)
返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
参考技术B String str = "123";
int i = str.IndexOf('1'); // 返回第一个匹配字符的位置

StringBuffer一样的。本回答被提问者采纳
参考技术C 给你一个测试类:

public class TestString

/**
* @param args
* @author 韩卫召
*/
public static void main(String[] args)
//string测试
String str = "hanweizhai";
if(str.indexOf("h")!=-1)
//如果包含h
System.out.println("String Test>>>>>>>>>>>>>>"+(str.indexOf("h")+1));

//stringBuffer测试
StringBuffer sb=new StringBuffer();
sb.append("hanweizhao");
if(sb.indexOf("a")!=-1)
//如果包含a
System.out.println("StringBuffer Test>>>>>>>>>>"+(str.indexOf("a")+1));



参考技术D String s="abcdefghi";
String s1="fgh";
int index= s.indexOf(s1);

以上是关于JS中怎么删除字符串中的特定的字符?的主要内容,如果未能解决你的问题,请参考以下文章

JS中怎么删除字符串中的特定的字符?

怎么用JS把特定字符串重复的字符删除留下一个

JS中如何删除某个指定字符(前)后的字符串

怎么找到一个字符串中特定字符的位置

JAVA字符串中取特定字符的位置

sql 删去记录中指定字符开头的字符串