精华内容
下载资源
问答
  • 删除字符串中的子串

    2021-03-06 10:05:29
    7-29 删除字符串中的子串 (20 分) 输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。 输入格式: 输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,...

    7-29 删除字符串中的子串 (20 分)

    输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。

    输入格式:

    输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。

    输出格式:

    在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。

    输入样例:

    Tomcat is a male ccatat
    cat

    输出样例:

    Tom is a male 

    简单模式匹配BF算法,缺点产生大量回溯,没有利用已经匹配的结果,本题采用暴力求解可AC

    #include<stdio.h>
    #include<string.h>
    int main(){
    	char a[81];
    	char b[81];
    	char c[81];
    	int lena,lenb;
    	int i,j,k,m=0,flag;
    	gets(a);
    	gets(b);
    	lena=strlen(a);
    	lenb = strlen(b);
    	for(i=0;i<lena;i++){
    		flag=1;
    		for(j=0;j<lenb;j++){
    			if(a[i+j]!=b[j]){
    				flag=0;
    				break;
    			}
    		}
    		if(flag){ //出现匹配字符串 
    			for(k=i;k<lena-lenb;k++){
    				a[k]=a[k+j];
    				
    			}
    			lena-=lenb;
    			i=-1;
    		}
    	}
    	for(i=0;i<lena;i++){
    		printf("%c",a[i]);
    	}
    	
    }

    改进,使用KMP算法, 求next数组

    代码实现有时间会补上

     

    展开全文
  • So starting with a list of strings, as belowstring_list = ['rest', 'resting', 'look', 'looked', 'it', 'spit']I want to remove any element from the list that is a substring of another element, giving t...

    So starting with a list of strings, as below

    string_list = ['rest', 'resting', 'look', 'looked', 'it', 'spit']

    I want to remove any element from the list that is a substring of another element, giving the result for instance...

    string_list = ['resting', 'looked', 'spit']

    I have some code that acheives this but it's embarrassingly ugly and probably needlessly complex. Is there a simple way to do this in Python?

    解决方案

    First building block: substring.

    You can use in to check:

    >>> 'rest' in 'resting'

    True

    >>> 'sing' in 'resting'

    False

    Next, we're going to choose the naive method of creating a new list. We'll add items one by one into the new list, checking if they are a substring or not.

    def substringSieve(string_list):

    out = []

    for s in string_list:

    if not any([s in r for r in string_list if s != r]):

    out.append(s)

    return out

    You can speed it up by sorting to reduce the number of comparisons (after all, a longer string can never be a substring of a shorter/equal length string):

    def substringSieve(string_list):

    string_list.sort(key=lambda s: len(s), reverse=True)

    out = []

    for s in string_list:

    if not any([s in o for o in out]):

    out.append(s)

    return out

    展开全文
  • 有些字符串是我们存储某种类型名称的,往往有逗号‘,'或者其他符号来分隔。如果我们删除某一个参数时,往往没有数组或者列表那么方便。但是,如果有了下面这个方法,我们同样可以做好。public class Test3 {/*** @...

    有些字符串是我们存储某种类型名称的,往往有逗号‘,'或者其他符号来分隔。如果我们删除某一个参数时,往往没有数组或者列表那么方便。但是,如果有了下面这个方法,我们同样可以做好。

    public class Test3 {

    /**

    * @param args

    */

    public static void main(String[] args) {

    //要切割的字符串

    String s = "123.jpg,113.jpg,121.jpg,122.jpg,131.jpg";

    String sub = "";

    System.out.println("编译前:"+s);

    //调用方法

    sub = s.replaceAll( ",113.jpg|113.jpg,","");//.replaceAll( ",122.jpg|122.jpg,","");

    System.out.println("编译后:"+sub);

    }

    }

    打印结果:

    编译前:123.jpg,113.jpg,121.jpg,122.jpg,131.jpg

    编译后:123.jpg,121.jpg,122.jpg,131.jpg

    ea0c9fa5066c7a38df018e6505bfe9d4.png

    下面回顾一下JDK1.6中的replaceAll方法说明:

    replaceAll

    public String replaceAll(String regex,

    String replacement)使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。

    调用此方法的 str.replaceAll(regex, repl) 形式与以下表达式产生的结果完全相同:

    Pattern.compile(regex).matcher(str).replaceAll(repl)

    注意,在替代字符串中使用反斜杠 (\) 和美元符号 ($) 与将其视为字面值替代字符串所得的结果可能不同;请参阅 Matcher.replaceAll。如有需要,可使用 Matcher.quoteReplacement(java.lang.String) 取消这些字符的特殊含义。

    参数:

    regex - 用来匹配此字符串的正则表达式

    replacement - 用来替换每个匹配项的字符串

    返回:

    所得 String

    抛出:

    PatternSyntaxException - 如果正则表达式的语法无效

    展开全文
  • 从字符串中删除单词列表

    千次阅读 2021-01-29 14:47:58
    看着你问题的其他答案,我注意到他们告诉你如何做你想做的事,但他们没有回答你在最后提出的问题。...发生这种情况的原因是.replace()完全替换了您给它的子字符串。例如:"My, my! Hello my friendly m...

    看着你问题的其他答案,我注意到他们告诉你如何做你想做的事,但他们没有回答你在最后提出的问题。If the input query is "What is Hello", I get the output as:

    wht s llo

    Why does this happen?

    发生这种情况的原因是.replace()完全替换了您给它的子字符串。

    例如:"My, my! Hello my friendly mystery".replace("my", "")

    给出:>>> "My, ! Hello friendly stery"

    .replace()实质上是用第一个参数指定的子字符串拆分字符串,并将其与第二个参数连接起来。"hello".replace("he", "je")

    逻辑上类似于:"je".join("hello".split("he"))

    如果您仍然想使用.replace来删除整个单词,您可能认为在前后添加一个空格就足够了,但这会遗漏字符串开头和结尾的单词以及子字符串的标点形式。"My, my! hello my friendly mystery".replace(" my ", " ")

    >>> "My, my! hello friendly mystery"

    "My, my! hello my friendly mystery".replace(" my", "")

    >>> "My,! hello friendlystery"

    "My, my! hello my friendly mystery".replace("my ", "")

    >>> "My, my! hello friendly mystery"

    此外,在前后添加空格不会捕获重复项,因为它已经处理了第一个子字符串,并将忽略它而继续:"hello my my friend".replace(" my ", " ")

    >>> "hello my friend"

    展开全文
  • 删除字符串中的子串(c语言)

    千次阅读 2021-03-28 20:19:57
    删除字符串中的子串题目答案参考 题目 答案 #include<stdio.h> #include<string.h> int main() { char str1[100],str2[100],t[100]; gets(str1); gets(str2); char *p; while((p=strstr(str1,str2...
  • 因此,到目前为止,我们都知道在Java中从字符串中删除空格的不同方法,即trim,replaceAll。 但是,Java 11通过诸如strip,stripLeading和stripTrailing之类的方法对这些方法进行了一些新的添加。 在大多数情况下...
  • there is a string,for example。EXAMPLE。P>我怎么能的remove the ...我想知道:P>字符串给端在任何特殊字符?which is a better left to right就是这样- shifting starting from the creation of charac...
  • int Replace_string(char line[],char str1[],char str2[]) { char *source = line; char *old = str1; char *New = str2;... } ◆◆ 评论读取.... 请登录后再发表评论! ◆◆ 修改失败,请稍后尝试
  • 在做项目时需要对一个字符串进行处理,也就是删除指定的字符,吾爱编程通过这篇文章主要介绍了PHP实现删除字符串中任何字符的函数,涉及php针对字符串的遍历与截取操作技巧,需要的朋友可以参考一下:PHP实现删除字符...
  • #include <stdio.h> #include <string.h> int main(){ char s1[81],s2[81],temp[81]={0},*k; //最长=80个字母+1个回车符;... //在s1字符串中找到s2字符串的第一个位置,返回的是指针 while(k){
  • function delStr($start, $end, $orgenStr){//读取要删除字符位置的前一部分字符串,并赋值给$temp//strpos读取字符第一次出现的位置//substr读取指定开始与结束位置的子字符串//echo $before."—". $last;$temp=$...
  • 在列表中删除与集合子字符串匹配的项目的最快方法是什么?例如,the_list =['Donald John Trump (born June 14, 1946) is an American businessman, television personality','and since June 2015, a candidate ...
  • 有些字符串是我们存储某种类型名称的,往往有逗号‘,’或者其他符号来分隔。如果我们删除某一个参数时,往往没有数组或者列表那么方便。但是,如果有了下面这个方法,我们同样可以做好。public class Test3 {/*** @...
  • 我正在尝试构建一个正则表达式来“减少”Java中字符串中重复的连续子串.例如,对于以下输入:The big black dog big black dog is a friendly friendly dog who lives nearby nearby.我想获得以下输出:The big black...
  • 小编典典在正则表达式模式添加否定运算符^。为了过滤可打印的字符,您可以使用以下表达式[^\\x00-\\x7F],您应该获得所需的结果。import java.io.UnsupportedEncodingException;import java.util.regex.Matcher;...
  • 本文实例讲述了JS实现字符串中去除指定子字符串方法。分享给大家供大家参考,具体如下:Title/*方法一:使用replace函数替换*///去除字符串中含有的某字符串:str = str.replace('give', '');var str = 'Could you ...
  • 若要删除字符串中的子串,需要使用该子串后的字符删除的地方开始,逐一往前移动覆盖待删除字符。 之前学习过的printf()函数和scanf()函数,他们分别用于向控制台中输出内容和控制台上接受用户的输入。C语言还...
  • 我想做一个获取字符串的函数,如果它有内联注释,它会删除它.我知道这听起来很简单,但我想确保我这样做是正确的,例如:private String filterString(String code) {// lets say code = "some code //comment inside"//...
  • 如何Python字符串中删除最后一个字符?Python支持负索引切片和正切片。负索引 -1 到-(iterable_length)开始。我们将使用负切片可迭代对象的末尾获取元素。索引 -1 迭代器中获取最后一个元素。索引-2 迭代...
  • =.*1) 这是断言, 表示后面内容将是 任意个字符加上第一组所捕获的内容这样子,如果这整个式匹配到,表示,第一个捕获组内容在字符串中,至少出现两次,替换为 "" 空串.进行 全局替换后, 整个字符串所出现的字符将不...
  • 最近在做一个输入框下拉表格选择单元格输入,单元格取值列为标签文本(支持rich text...# 查找字符串text的 起始标识符 startC,结束标识符stopC,并删除text的这些字符 # 比如 s = 'abcx<dsawew>oiioo...
  • '' p = 0 for start, end in blocks: out += s[p:start] p = end out += s[p:] return out 此函数接受一个字符串s,并删除s的所有{},其中索引{}在列表blocks给出。在 有没有一个内置函数可以做同样的事情?在 ...
  • 匿名用户1级2016-12-17 回答字符串其实是一个数组。你把后面的abcd依次移...通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等...
  • matlab字符串

    千次阅读 2021-04-18 05:17:02
    在MATLAB创建字符串非常简单. 实际上,我们在前面的示例已经使用了很多次. 例如,在命令提示符下键入以下内容:my_string = Yiibai YiibaiMATLABMATLAB执行上述语句并返回以下结果-Trial>> my_string = ...
  • Ronald Isley - Project Windows.mp3'] 每个文件名都是一个字符串。 我希望能够查看songs列表,如果列表的一项与songs列表的内容匹配filenames,请将该文件重命名为歌曲的名称。 解决方案 这是一个将保留文件...
  • Java子字符串

    2021-02-27 09:29:01
    Java String substring()方法用于将String的一部分作为新String返回。此方法始终返回一个新的String,...substring(int beginIndex) - 此方法返回一个新字符串,该字符串是此字符串的子字符串子字符串以指定索引...
  • 修复了一个获取控制器名称方式的bug控制器的名称都是使用act结尾,使用过程要删掉act。1。原来的方式//使用替换act的方法获取控制器名称,很显然当控制器的名称出现act三个字符的时候都会被替换掉产生bug$actName=...
  • #include "stdlib.h"#include int main(){char * findMaxCommonStr(char [][100],int);...//设置为输入三个字符串char *p;printf("输入三个字符串\n");for(i=0;i<3;i++)scanf("%s",strs[i]);p=findMaxCommonS...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 463,909
精华内容 185,563
关键字:

从字符串中删除子字符串