精华内容
下载资源
问答
  • sed找到关键字所在行并将其前面的第一个字符删除: 代码如下:sed -i ‘/httpd-vhosts/s/^#//’ httpd.conf#Include conf/extra/httpd-vhosts.conf  说明:以 httpd-vhosts 为关键字找到这行,并将前面的第一个...
  • 也就是说,-1字符串的最后一个字符 end:要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置 var ...
  • 去掉重复的字符串及在第一个字符串中删除在第二个字符串中出现的字符程序,vs2013已经验证
  • 题目:输入两个字符串,从第一个字符串中删除第二个字符串中所有的字符 例如:’They are students.‘和’aeiou‘ 删除后变成了’Thy r stdnts.‘ s1 = input('Please input a string:\n') s2 = input('Please ...
    题目:输入两个字符串,从第一个字符串中删除第二个字符串中所有的字符
        例如:’They are students.‘和’aeiou‘
        删除后变成了’Thy r stdnts.‘
    
    s1 = input('Please input a string:\n')
    s2 = input('Please input a string:\n')
    s3 = ''
    
    #第一种
    # for i in s1:
    #     sum = 0
    #     for j in s2:
    #         if i == j:
    #             break
    #         else:
    #             sum += 1
    #     if sum == len(s2):
    #         print(i,end='')
    
    #第二种
    for i in s1:
        if i in s2:
            continue
        else:
            s3 += i
    print(s3)
    
    #第三种
    for i in s2:
        s1 = s1.replace(i,'')
    print(s1)

     

    展开全文
  • 为大家讲解的是php实现如何去掉字符串的最后一个字符的多种方法,感兴趣的同学参考下。下面来一起看看。
  • 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。 例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.” 输入描述: 每测试输入包含2个字符串 输出描述: ...

    输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。
    例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”

    • 输入描述:
      每个测试输入包含2个字符串
    • 输出描述:
      输出删除后的字符串
    • 示例1:
      输入:
      They are students.
      aeiou
      输出:
      Thy r stdnts.
    def fun_delete(s, target):
        res = ""
        target = list(target)
        for i in s:
            if i not in target:
                res += i
        return res
    
    
    if __name__ == '__main__':
        s = input()
        target = input()
        res = fun_delete(s, target)
        print(res)
    
    展开全文
  • 题目描述:输入两个字符串,从第一个字符串中删除第二个字符串中所有的字符。 例如:输入"They are students.",输入"aeiou",则删除之后的第一个字符串变为"Thy r stdnts." 思路:建立数组,将字符串 2 的字符在...

    题目描述:输入两个字符串,从第一个字符串中删除第二个字符串中所有的字符。

    例如:输入"They are students.",输入"aeiou",则删除之后的第一个字符串变为"Thy r stdnts."

    思路:建立数组,将字符串 2 的字符在数组中标记为 1,定义两个指针指向字符串 1,遍历字符串 1,若当前字符所代表的 ASIIC码在数组中对应的值不为 1,表示该字符不是字符串 2 中出现的字符。

    Java实现:

    •  StringBuilder() ——> 构造一个没有字符的字符串构建器,初始容量为16个字符。
    • append(char c) ——> 将char参数的字符串表示附加到此序列。该参数附加到此序列的内容,该序列的长度增加 
    • public String toString() ——> 返回表示此顺序中的数据的字符串。 新的String对象被分配并初始化以包含此对象当前表示的字符序列。 然后返回String 。 此序列的后续更改不影响 String 的内容。
    public class DeletePattern {
        public static String deletePattern(String a,String b){
            StringBuilder s = new StringBuilder();//存储结果字符串
            char[] b1 = new char[256];
            for(int i = 0;i < b.length();i++){
                b1[b.charAt(i) ] = 1;
            }
            for(int i = 0;i < a.length();i++){
                if(b1[a.charAt(i)] != 1){
                    s.append(a.charAt(i));
                }
            }
            return s.toString();
        }
            public static void main(String[] args) {
            String a = "They are students.";
            String b = "aeiou";
            System.out.println(deletePattern(a,b));
        }
    }

    C语言实现: 

    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    char* deletePattern(char *s1, char *s2){
    	int a[256] = { 0 };
    	while (*s2 != '\0'){
    		a[*s2] = 1;
    		s2++;
    	}
    	char *p1 = s1;
    	char *p2 = s1;
    	while (*p1 != '\0'){
    		if (a[*p1] != 1){
    			*p2 = *p1;
    			p2++;
    		}
    		p1++;
    	}
    	*p2 = '\0';
    	return s1;
    }
    int main(){
    	char s1[] =  "They are students." ;
    	char *s2 = "aeiou";
    	printf("%s\n",deletePattern(s1, s2));
    	system("pause");
    	return 0;
    }

     

    展开全文
  • 输入两个字符串,从第一个字符串中删除第二个字符串中的所有字符 比如输入“They are students." 删除之后的第一个字符串变成"The r stdnts." 思路是利用每个字符都有其对应的ASCII码值,将需要删除字符的ascii为...

    输入两个字符串,从第一个字符串中删除第二个字符串中的所有字符
    比如输入“They are students."
    删除之后的第一个字符串变成"The r stdnts."

    思路是利用每个字符都有其对应的ASCII码值,将需要删除的字符的ascii为下标储存在数组当中。
    利用两个指针分别指向原字符串和需要删除的字符串。
    因为我们已经将需要删除的字符串中的字符所对应的ASCII码作为下标储存在数组当中,所以在比较的时候只需要看原字符串中的字符所对应的ASCII码作为下标在数组中是否为1.
    这样说可能不好理解。看一下具体例子

    假如原字符串为

    char str1[] = "They aaaare students.";
    

    需要删除的为

    char str2[] = "aeiou";
    

    然后我们需要一个数组储存结果(将其初始化为0)

    int a[256] = { 0 };
    

    两个指针分别指向这两个字符串

    char* pFast = str1;
    char* pSlow = str2;
    

    我们想实现的是在字符串str1中找到‘a’,‘e’,‘i’,‘o’,‘u’这几个字符并删除
    第一步我们想在str1中找到所有的字符‘a’并删除
    也就是说我们所有想删除的字符都在str2中

    接下来我们把需要删除的字符对应的ASCII码作为下标,然后储存在数组中
    利用一个for循环

    for (i = 0; i < n; ++i){
    	a[str2[i]] = 1;
    }
    

    str2[i]对应的是所有需要在str1中删除的字符
    将其对应的ASCII码作为下标也就是 a[str2[i]];
    将其赋为1,表示该字符需要删除

    接下来实现代码的核心部分

    while (*pFast){
    	if (a[*pFast] == 1){
    		*pFast++;
    	}
    	*pSlow++ = *pFast++;
    }
    

    因为我们需要删除的是str1中的字符,所以这里的 while(pFast)是为了遍历str1
    接下来 if (a[pFast] == 1) 说明我们要删除这个字符。我们给pFast++,让pFast指针跳过这个字符,指到下一个字符,然后再赋给pSlow。
    这样做本质上是遍历str1,如果这个字符不需要删除,就拿过来赋给pSlow,然后pFast和pSlow同时自增
    如果需要删除,先给pFast自增,再
    pSlow++ = *pFast++;(自增同时赋值)

    别忘了最后

    *pSlow = '\0';
    

    给字符串结尾!

    但是这样的思路还存在一些问题。先看上面这个思路的完整代码,我们再来修改

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    void DeleteStr(char* str1, char* str2){
    	char* pFast = str1;
    	char* pSlow = str2;
    	int a[256] = { 0 };
    	int i;
    	int n = strlen(str2);
    	for (i = 0; i < n; ++i){
    		a[str2[i]] = 1;
    	}
    	while (*pFast){
    		if (a[*pFast] == 1){
    			*pFast++;
    		}
    		*pSlow++ = *pFast++;
    	}
    
    	*pSlow = '\0';
    }
    int main(){
    	char str1[] = "They are students.";
    	char str2[] = "aeiou";
    	DeleteStr(str1, str2);
    	printf("%s\n", str2);
    	system("pause");
    	return 0;
    }
    

    这样去做题目中的要求我们可以实现,但是拓展之后,如果相同的字符连续出现,我们无法做到连续删除

    比如原字符串变成这样

    char str1[] = "They aaaare students.";
    

    仔细想想,来看我们上面的核心代码

    while (*pFast){
    	if (a[*pFast] == 1){
    		*pFast++;
    	}
    	*pSlow++ = *pFast++;
    }
    

    我们在确认一个字符需要删除之后,直接就跳过该字符,下一个字符没有进行判断是否应该删除就进行了赋值
    所以要将这段代码进行修改

    while (*pFast){
    	if (a[*pFast] == 0){
    		*pSlow = *pFast;
    		pSlow++;
    	}
    	pFast++;
    }
    

    这次我们判断

    if (a[*pFast] == 0){}
    

    就说明不需要删除可以赋值
    直接

    *pSlow = *pFast
    

    紧接着下来的一步我们不着急赋值,因为我们最终使用pSlow保存的结果,所以每赋值一次就先给pSlow++,这是pSlow++放在if语句中的原因。试想如果将pSlow++放在if语句之外,那么我们没有给pSlow赋值,指针也会不断往前走,这样肯定会出问题。
    先给pSlow++之后,在if语句之外给先给pFast++
    这时开始第二次循环
    这样做就能够实现在每一次赋值之前进行判断,就算相同字符连续出现也可以实现删除
    完整代码如下

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    void DeleteStr(char* str1, char* str2){
    	char* pFast = str1;
    	char* pSlow = str2;
    	int a[256] = { 0 };
    	int i;
    	int n = strlen(str2);
    	for (i = 0; i < n; ++i){
    		a[str2[i]] = 1;
    	}
    	while (*pFast){
    		if (a[*pFast] == 0){
    			*pSlow = *pFast;
    			pSlow++;
    		}
    		pFast++;
    	}
    	*pSlow = '\0';
    }
    int main(){
    	char str1[] = "They aaaare students.";
    	char str2[] = "aeiou";
    	DeleteStr(str1, str2);
    	printf("%s\n", str2);
    	system("pause");
    	return 0;
    }
    
    展开全文
  • Let’s say you have a string, and you want to ... 假设您有一个字符串,并且想要删除其中的第一个字符。 How can you do so? 你该怎么做? One easy solution is to use the slice() method, passing 1 as pa...
  • 字符1中把字符串2中的字母挨个找遍,所以要遍历字符串2 // 2.将字符1中出现的字母删掉,用splite,【split("指定字符串"),用来切割字符串中指定的字符串的,返回的是字符串的数组】 // 3.把返回的数组...
  • 输入两个字符串,从第一个字符串中删除第二个字符串中的所有字符 比如输入第一个字符串:“They are students." 第二个字符串: "aeiou" 删除之后的第一个字符串变成"The r stdnts." 题目分析(思路): 创建三...
  • 题目描述:键盘输入两个字符串,从第一个字符串中,删除第二个字符串。 例如 输入:str1:hello,world! str2:world 输出:hello,! 思路: 1.判断 str1 是否含有 str2,倘若含有才有后续,倘若没有直接输出 str1即可...
  • DR:从字符串中删除第一个字符: str = str.substring(1); ...yes it is that simple... ......是的就是这么简单...... Removing some particular character(s): 删除某些特定字符: As @Shaded suggested, just ...
  • 例如,输入“ They are students.” 和 “aeiou”, 则删除之后的第一个字符串变为“Thy r stdnts.” 思路: 通过遍历,我们依次判定第一个字符串中是否存在第二个字符串中的第i个字符,如果存在,则删除字符,...
  • python中删除某个指定的字符(所有的字符) 例子引入:用户输入带有千分位逗号的数字字符串,然后输出不带千分位逗号的数字字符串 解析:本题主要涉及的是:字符串的处理,字符串的输入 思路:直接统计某个字符出现的...
  • <p>What is the suggested method to remove the first character of a string? <p>I've looked through the documentation for string methods but I don't see anything that works like javascript's ...
  • 输入两个字符串,从第一个字符串中删除第二个字符串中所有的字符,例如:输入“They are students.“和"aeiou”,则删除之后的第一个字符串变成“Thy r stdnts"。 思路: 将第二个字符串的元素一一拿出用来和第一个...
  • 输入两个字符串,从第一个字符串中删除第二个字符串. 例: arr1[]={"How are You"}; arr2[]={"aeo"}; 删除后为: arr1[]={"Hw r Yu"} ; 方法一: 首先看到这题,惯性思维我们会想到申请一新的数组,然后...
  • 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。 第一种思路 直接通过遍历,我们依次判定第一个...
  • 代码如下:[removed]var s=’,dddd’;if (s.substr(0,1)==’,’) s=s.substr(1);[removed](s);[removed]下面来点更好的代码: 代码如下:[removed] ... //去掉第一个逗号if (str.substr(0,1)==’,’) str=str.substr(1
  • String 类 方法replaceFirst() 查找第一次出现的指定字符 ...下面代码只删除str中第一次出现的ddd字符串 String str="dddkkkddd"; String d=str.replaceFirst("ddd", ""); System.out.println(d);
  • 题目描述: 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.” 思路: (1)将字符串s2中的字符逐个存储...
  • substring && substr     stringObject.substring(start,stop) //截取的是开始与结束的字符串。...stringObject.substr(start,length) //截取的是开始与字符串长度...
  • 解题思路: 1.先定义一个长度为256的char数组,StringBuilder对象sb...3.把个字符串的字符所对应的数组元素全部按置为1,反正是见到它们就删,不如给他们统一标识1,遇见就删 4.先遍历个字符串,统一标识...
  • //定义两个字符串 将第一个字符串中与第二个字符串不相同的元素提出来 public class TestDemo1{ public static List<Character> searchNotRepeatChar(String str1,String str2){ Lis...
  • 用es6实现查找指定字符下标,并把第一个字符前面的内容删掉。 原字符串 : abc-123-bcd-444 目标字符: 123-bcd-444 实现方法: let abc = 'abc-123-bcd-444' let mmm = abc.indexOf('-') let nnn = abc....
  • 1 ; } while ( * p != '\0' ) { if ( 0 == hash_table [ ( int ) * p ] ) { src [ index ++ ] = * p ; } p ++ ; } src [ index ] = '\0' ; return src ; } int ...
  • 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符 样例 样例 1: 输入: str=”They are students”,sub=”aeiou” 输出: ”Thy r stdnts” 注意事项 1≤len(str),len(sub)≤10​5 首先拿到题...
  • 题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。 例如,输入”They are students.”和”aeiou”,则删除之后的字符串变成”Thy r stdnts. 思路:首先要将第一个字符串中的每个字符截取出来,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,174,588
精华内容 469,835
关键字:

删除第一个字符