精华内容
下载资源
问答
  • C#字符串删除指定字符串|C#字符串删除子字符串
  • 删除指定字符串: 函数有删除一个字符串的,有删除指定字符串的,注意不同函数的思路。 #include #include #include /* 方法一:删除全部指定字符串 */ void delString(char *str, char *finstr) { char *pstr...

    删除指定字符串:

    函数有删除一个字符串的,有删除指定字符串的,注意不同函数的思路。

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    /* 方法一:删除全部指定字符串 */
    void delString(char *str, char *finstr)
    {		
    	char *pstr = strstr(str, finstr);
    	if (NULL == pstr)
    	{
    		printf("没有找到要删除的字符串!");
    		return;
    	}
    	/* 每次从删除后的字符串再查询是否有相应的字符串,如果找到则继续删除 */
    	/* 这个FOR 效率低,每次都是从开头查询。 */
    	//for (pstr; pstr != NULL; pstr = strstr(str, finstr))
    	/* 每次从删除点开始向后查询,这样就可以提高效率,因为前面删除的就不需要再进行查询了 */
    	/* 只是我们给的这个目标字符串是故意这样设置的,因为删除后又有同样的字符串被组合到了一起 */
    	for (pstr; pstr != NULL; pstr = strstr(pstr, finstr))	
    	{//保保找到的字符串首地址
    		char *temp = pstr;
    		char *ptemp = pstr;
    		ptemp += strlen(finstr);
    		while (*temp != '\0')
    		{
    			*temp = *ptemp;
    			temp++;
    			ptemp++;
    		}
    		printf("%s\n", str);
    	}
    
    }
    
    /* 方法二:全部删除指定字符串 */
    void delAllString(char *str, char *chx)
    {
    	int i = 0;
    	int j = 0;
    	while ((str[i] = str[j]) != '\0')
    	{
    		int flag = 1;	//假定找到
    		//查找,每个字符对比,有一个不等就不等,预防母串提前结束。
    		for (int k = 0; k < strlen(chx); k++)
    		{
    			if (str[j + k] != chx[k] || str[j + k] != '\0')
    			{
    				flag = 0;
    				break;
    			}
    		}
    		if (flag == 0)
    		{
    			i++;
    			j++;	
    		}
    		else
    		{
    			j += strlen(chx);	//找到就跳过。
    		}
    	}
    }
    
    /* 方法一:删除一个字符串 */
    void delStr(char *str, char *chx)
    {
    	char *p = strstr(str, chx);
    	if (NULL == p)
    	{
    		return;
    	}
    	else
    	{
    		int length = strlen(chx);	//移动的差距
    		/* strlen(p) - strlen(chx):需要移动的距离 
    			循环是从查询到的要删除的字符串的开头地址开始循环
    		*/
    		for (int i = 0; i <= strlen(p) - strlen(chx); i++)
    		{
    			p[i] = p[i + length];			
    		}		
    	}
    }
    
    
    void main()
    {
    	char str[1024] = "ab123aabbeababcab58ab";
    	char *p = "ab";
    	printf("原字符串的值:%s\n", str);
    
    	//delString(str, p);
    	delStr(str, p);
    	printf("删除后字符串:");
    	printf("%s\n", str);
    
    	system("pause");
    }


    展开全文
  • C++ string 字符串删除指定字符

    万次阅读 2019-04-09 16:03:02
    今天遇到的情况时需要删除时间戳里的‘.’,只留下...首先,通过find找到需要删除的字符/字符串的位置: string str; string target; int pos = str.find(target); 然后通过erase进行删除: n = target.size(...

    今天遇到的情况时需要删除时间戳里的‘.’,只留下数字。

    想找比较简单的实现方法,找了半天,发现的方案:

    用STL的string的 find 和 erase:

    首先,通过find找到需要删除的字符/字符串的位置:

    string str;

    string target;

    int pos = str.find(target);

    然后通过erase进行删除:

    n = target.size();

    str = str.erase(pos,n);           //从pos这个位置开始,删除n个字符

     

    erase用法参考:http://www.cplusplus.com/reference/string/string/erase/

    展开全文
  • 场景: 有个字符串oldStr,内容为“a,b,c,d,e",想动态删除某个字符,或c或b。 解决办法: 1、转数组String[] arr = oldStr.split(","); ArrayList&lt;String&gt; m = new ArrayList&...

      场景:

       有个字符串oldStr,内容为“a,b,c,d,e",想动态删除某个字符,或c或b。

      解决办法:

     1、转数组

    String[] arr = oldStr.split(",");
    ArrayList<String> m = new ArrayList<>();
    for (int i = 0; i < arr.length; i++) {//add进ArrayList数组
        m.add(arr[i].trim());
    }

    先转数组string[],再转ArrayList,主要为删除作准备;

    2、删除指定字符d

    for (int i = 0; i < m.size(); i++) {//用ArrayList的remove功能,移除指定字符
        if ("d".equals(m.get(i))) {
            m.remove(i);
        }
    }

    3、再将剩下的数组转String

    String s1 = m.toString();
    String s2 = s1.substring(1, s1.length() - 1) + ",";//去除首尾[]符号,并加上”,“号
    String s = s.replaceAll(" ", "");
    这里有几个坑,一是数组转为字符串时,得在后面加上","逗号;二是数组莫名还会加进了空格进去,所以最后得把空格符号替换掉。
    展开全文
  • C++中要从string删除所有某个特定字符, 可用如下代码 str.erase(std::remove(str.begin(), str.end(), 'a'), str.end()); 其中, remove来自&lt;algorithm&gt;, 它的签名是 template &...

    转载地址:https://www.cnblogs.com/7z7chn/p/6341453.html

    C++中要从string中删除所有某个特定字符, 可用如下代码

    str.erase(std::remove(str.begin(), str.end(), 'a'), str.end());

    其中, remove来自<algorithm>, 它的签名是

    template <class ForwardIterator, class T>
      ForwardIterator remove (ForwardIterator first, ForwardIterator last, const T& val);

    作用: 在容器中, 删除[first, last)之间的所有值等于val的值.

    删除方法: 将某个等于val的值用下一个不等于val的值覆盖.

    返回值: 一个迭代器 (记作newEnd), 该迭代器指向最后一个未被删除元素的下一个元素, 即相当于容器新的end.

    所以, 运行完remove后, 容器的[first, newEnd)内的元素即为所有未被删除的元素, [newEnd, end)之间的元素已经没用了.

    这样, 再运行str.erase(newEnd, str.end())即可清空[newEnd, end)之间的元素.


    std::remove_ifremove类似, 只是它接受的第三个参数是个函数.

    // remove_if example
    #include <iostream>     // std::cout
    #include <algorithm>    // std::remove_if
    
    bool IsOdd (int i) { return ((i%2)==1); }
    
    int main () {
      int myints[] = {1,2,3,4,5,6,7,8,9};            // 1 2 3 4 5 6 7 8 9
    
      // bounds of range:
      int* pbegin = myints;                          // ^
      int* pend = myints+sizeof(myints)/sizeof(int); // ^                 ^
    
      pend = std::remove_if (pbegin, pend, IsOdd);   // 2 4 6 8 ? ? ? ? ?
                                                     // ^       ^
      std::cout << "the range contains:";
      for (int* p=pbegin; p!=pend; ++p)
        std::cout << ' ' << *p;
      std::cout << '\n';
    
      return 0;
    }

    Output:

    myvector contains: 10 30 30 10 10 0 0 0

    还有个std::remove_copy, 签名:

    template <class InputIterator, class OutputIterator, class T>
      OutputIterator remove_copy (InputIterator first, InputIterator last,
                                  OutputIterator result, const T& val);

    它会把[first, last)之间不等于val的元素都向从result开始的容器拷贝.

    // remove_copy example
    #include <iostream>     // std::cout
    #include <algorithm>    // std::remove_copy
    #include <vector>       // std::vector
    
    int main () {
      int myints[] = {10,20,30,30,20,10,10,20};               // 10 20 30 30 20 10 10 20
      std::vector<int> myvector (8);
    
      std::remove_copy (myints,myints+8,myvector.begin(),20); // 10 30 30 10 10 0 0 0
    
      std::cout << "myvector contains:";
      for (std::vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it)
        std::cout << ' ' << *it;
      std::cout << '\n';
    
      return 0;
    }

    Output:

    myvector contains: 10 30 30 10 10 0 0 0
    展开全文
  • C# String 删除指定字符

    千次阅读 2020-09-04 13:46:52
    yourstr.Replace("-", string.Empty) //比如删除'-'
  • /*编程从键盘输入一个字符串和一个指定字符删除字符串中所有指定的字符,将结果保存到一个新的字符串中并输出*/ #include<stdio.h> #include<string.h> main() { char str[100],s[100],c; int i=...
  • String去除后面指定字符串 比如:abcdefgStr,我想去除后面的Str只保留前面部分。 很多人会选择spit方法,但这样返回的是一个数组,而且封装起来也是很麻烦。 如果在知道是要去除多少个字符串时,可以用以下的方法 ...
  • 删除指定字符串中的某一段字符串

    千次阅读 2020-09-08 21:09:52
    3.要求删除该字 scrStr 符串中的所有 delStr 字符串(最终的字符串中不能包含 delStr), 要 求打印删除后的结果以及删除了几个 delStr 字符串 4.代码运行打印格式: 请输入源字符串:java woaijava,i like
  • JAVA String 如何去掉指定字符串

    千次阅读 2020-06-04 17:59:17
    JAVA String 如何去掉指定字符串 public static void main(String[] args) throws Exception { String str=",2004a05,2004a06,2004a08"; String shan=",2004a06"; System.out.println(str.replace(shan, ""))...
  • **删除字符串内的空格 */ #include<stdio.h> #include<string.h> //遍历元字符串删除空格 char *func(char *str) { int j = 0; for(int i=0;i<strlen(str);i++) { if(str[i] != ' ') { str...
  • 删除该字scrStr符串中的所有delStr字符串(最终的字符串中不能包含delStr),要求打印删除后的结果以及删除了几个delStr字符串  4.代码运行打印格式:   请输入源字符串:java woaijava,i
  • 指定字符串删除指定字符

    千次阅读 2016-04-15 13:15:17
    #include ... * 从字符串str中删除指定的字符ch */ char* delete_special_char(char *str, char ch) { char *temp, *ptr; if (str == NULL) return NULL; for(ptr = str,temp = str; (*ptr) !=
  • String去除指定范围的字符串
  • C 字符串删除指定字符,比如删除字符串中的空格   分类: C/C++ 2013-04-09 22:37:09 由于最近在找工作,在一个笔试的题要求删除字符串中中所有的空格,比如原数组 char array
  • Python删除字符串指定字符

    千次阅读 2020-10-19 18:40:10
    删除特定位置字符 使用.pop()方法,先将字符串转换为列表,再把列表转换成字符串string1 = '雪雪最大' # 定义一个字符串 ...删除指定字符 方法一 使用.replace()方法,删除(指定字符 string = '雪雪最大'
  • # -*- coding: cp936 -...""""删除两个标记字符中间的字符串内容""" def deletesACharacterBetweenTwoSpecifiedCharacters(startStr,endStr,filename,saveName): # 打开文件获取文件里面的内容 file = open(fil...
  • vim删除包含指定字符串的行

    万次阅读 2019-01-15 10:44:34
    vim删除包含指定字符串的行 在命令模式中,使用如下指令删除包含指定字符串的行: : g/string/d 例如,想要删除文件 test.log 中的,含有字符串“content-length”的行: :g/content-length/d 注意:在这个命令...
  • 有些字符串是我们存储某种类型名称的,往往有逗号‘,’或者其他符号来分隔。如果我们删除某一个参数时,往往没有数组或者列表那么方便。但是,如果有了下面这个方法,我们同样可以做好。 public class Test3 { /...
  • 字符串删除指定字符

    千次阅读 2016-01-04 13:05:11
    字符串删除指定的字符  -(NSString *) stringDeleteString:(NSString *)str { NSMutableString *str1 = [NSMutableString stringWithString:str]; for (int i = 0; i ; i++) { unichar c
  • python 去除字符串指定字符

    万次阅读 多人点赞 2018-08-06 14:37:52
    python中的strip()可以去除头尾指定字符 ss = '我的电话是18827038663,也是微信号,\n 请加入,谢谢\n...可以看到只能删除头尾指定字符。 想要去除中间字符,可以使用replace()函数 ss = '我的电话是188270386...
  • 使用正则删除含有指定字符串的行

    万次阅读 2018-02-04 15:32:40
    1、删除含有指定字符串的行 替换: ^.*(指定字符串).*$ 为空 例如,删除含有"0x000017a4"的行, 替换: ^.*0x000017a4.*$ 为空     2、删除//行注释 替换: //.*$ 为空 【注意】此正则会误删在引号中...
  • c++实现删除字符串前后指定字符

    千次阅读 2017-05-10 17:11:12
    c++实现删除给定字符串前后空格或者其他指定字符
  • C语言删除字符串中的指定字符串

    千次阅读 2014-12-18 11:37:02
    void replace_string(char * source_str,char * targ_str,char *val)/*将字符串中指定子字符串用指定字符串代替,targ_str 是被替换的,val是替换的字符串*/ { char temp_sstr[513],result[513]; char * p,*q; ...
  • c# String 替换指定字符

    千次阅读 2021-01-01 17:12:13
    c# String 删除指定字符 string.Replace(“字符内容”, string.Empty); str= “abcdefg”; 例子: str.Replace(“a”, string.Empty); str= “bcdefg”;
  • #include #include #include using namespace std;...class String { public:  String(const char* str)  :_str(new char[strlen(str) + 1])  {  _size = strlen(str);  _capacity = _siz
  • Python_删除指定字符串

    千次阅读 2018-08-08 14:22:23
    replace('abc','') #将abc删除  
  • 删除指定字符串中的子串

    千次阅读 2015-08-02 16:02:54
    在给定字符串中查找所有特定子串并删除,如果没有找到相应子串,则不作任何操作。 要求实现函数:  int delete_sub_str(const char *str, const char *sub_str, int sub_str_num,char *result) 【输入】 str:输入...
  • python删除指定字符串之后的内容

    万次阅读 2019-02-08 14:04:14
    在处理图书img的链接时(爬取苏宁图书相关信息),有个需求是删除掉图片链接末尾的字符串“_220w_220h_4e”,通过网上查询,给出下面两种解决方案: 先给出item["book_img"]的初始化条件: item["...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 420,369
精华内容 168,147
关键字:

string删除指定字符串