q879611427
q879611427
采纳率63.6%
2019-10-30 17:20 阅读 800

c# 查找字符串指定内容并替换

70

图片说明

如上图所示,这是一段字符串

1.写一个函数,所有红框中的标题号加括号。效果图如下:

图片说明

2.写一个函数,标题号的改变。对比图一,效果图如下:

图片说明

参数一:字符串

参数二:标题1(字符串中标题号后的XX储量\r\n 这段是固定的)

要考虑到字符串比较长

要完整代码,谢谢各位大佬!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2019-10-30 22:53
    Regex.Replace(原文, @"(\d)\.(\w)\\r\\n", "(${1})$2\\r\\n");
    
    点赞 2 评论 复制链接分享
  • laiyuan999 laiyuan999 2019-10-30 17:24

    //查找
    int index=str.IndexOf(key); //返回0 表示 关键字我 再原始字符串的位置0处。
    //替换
    str=str.Replace(key,newkey);// 字符串替换方法Replace,把key 替换为newkey

    点赞 评论 复制链接分享
  • fpz2614 pureblackman 2019-10-30 18:29

    针对第一个问题,说一个思路,根据上面的数据样式,可以逐行读取内容readline,获取行字符的长度,然后获取第一个char字符,判断是否为数字>=0 && <=9,
    如果是,迭代本行字符,一直到非数字,记录最后一位数字的位置n,对第一位字符charAt(0),charAt(n-1)进行替换。
    看一下是否需要对1位数的做一下特殊处理。
    第二个问题,如果是让特定的名称具有特定的标号,只需要匹配关键字符串substring(a,b).equals("targetString") 如果true进行对应的标号替换。
    如果是要将原文本种的第一段删除,然后进行标号更新,那么就是读取文件,逐行读取,当行startwith("2.")之后开始写入新文件,写的同时判断每行开始是否为数字,如果是,对应减一再写入新文件,文件名保持与源文件一致即可。所以新文件的输出路径最好是创建一个新文件夹

    点赞 评论 复制链接分享

相关推荐