问题

一个多行字符串,"asfdb;\nwesfpjoing;\nwbfliqwbefpwqufn\nasfdwe\nsafewt\nqwern\nvar\ntgwtg\n\nftwg\n"

现在要在"qwern"这一行后插入一行“xxxyyy”,如何做?

思路

将该字符串以\n切分变为字符串数组。遍历该数组,如果某一行字符串中包含关键字,则在后面插入xxxyyy

python

str = "asfdb;\nwesfpjoing;\nwbfliqwbefpwqufn\nasfdwe\nsafewt\nqwern\nvar\ntgwtg\n\nftwg\n"

lines = str.split('\n')
lines.reverse()
newstr = ''
for line in lines:
#print(line)
if "safewt" in line:
line = line + '\n' + "xxxxyyyy"
newstr = line +'\n' + newstr #倒序的
print(newstr) lines = str.split('\n')

python使用split后字符串列表的顺序是反的,需要再一次倒序该列表。

有以下几种方法:

1、reversed(a), 生成了a的迭代器, for line in reversed(a)即可

也可以将该迭代器转换为list类型:

b = reversed(a)
list(b)

2.a[::-1],该方法将a倒序切片, 得到一个新的list, for b in s[::-1]

3.a.reverse() 将a本身倒过来

4、使用range,range(4,-1,-1)表示[4,-1)左开右闭区间,由于-1是开区间,所以实际上是[4,0],

最后面的-1是每次的步进距离。 从位置4到1的区间,每次移动-1距离。左边是开始位置,而右边是结束位置。

for i in range(len(a)-1,-1,-1):
a[i]

javascript

js中同样使用split()切分,但是产生的数组不会倒序。

判断是否有子串存在的方法是indexOf(), 如果匹配失败,返回-1,匹配成功,返回第一次匹配到的初始位置。lastindexOf()则是最后一次匹配到的位置。

var qs = require('querystring');

var str = 'asfdb;\nwesfpjoing;\nwbfliqwbefpwqufn\nasfdwe\nsafewt\nqwern\nvar\ntgwtg\n\nftwg\n';

/*
for(line in str){
console.log(line)
}
*/
strlist = str.split('\n');
newstr='';
for(i =0;i < strlist.length;++i)
{
//console.log(strlist[i]);
if(strlist[i].indexOf("wern") != -1){
strlist[i] += "\nxxxxxyyyyy";
}
newstr = newstr + strlist[i] + '\n';
} console.log(newstr);

最新文章

  1. 利用Highcharts插件制作动态图表
  2. Delphi Mac App 名称支持国际化多语显示
  3. 移动端开发——javascript
  4. C++ c++初识
  5. Spring注解@Scheduled定时任务
  6. framwork NHibernate
  7. TC SRM 664 div2 A BearCheats 暴力
  8. WEB- 冻结TABLE的头和列
  9. POJ_3356——最短编辑距离,动态规划
  10. Sybase配置数据库参数
  11. error: a label can only be part of a statement and a declaration is not a statement
  12. 概率dp初探
  13. Django中的templates(你的HTML页面放哪里)
  14. 4.ansible的delegate_to
  15. git撤销commit-hard
  16. Codeforces Round #419 (Div. 2) ABC
  17. 使用redis-cli --pipe快速插入数据
  18. 《数据库系统概念》10-ER模型
  19. SITECORE体验编辑器 - 多站点实施站点解析
  20. Oracle_PL/SQL(4) 过程和函数

热门文章

  1. CSS布局中最小高度的妙用
  2. elsa-core:4.ASP.NET Core Server with Elsa Dashboard
  3. RabbitMQ-TTL-死信队列_DLX
  4. 安卓开发 利用百度识图api进行物体识别(java版)
  5. Python新手的奇技淫巧,掌握在手的充实感
  6. CSS linear-gradient() 函数
  7. SQLSTATE[HY000]: General error: 1366 Incorrect string value: &#39;\xF0\x9F\x90\xA3\xF0\x9F...&#39; for column
  8. 3gcms导航,实现当前栏目高亮的办法
  9. Linux系列(18) - 常用压缩命令(1)
  10. 华为云计算IE面试笔记-FusionSphere Openstack有哪些关键组件,各组件主要功能是什么?三种存储接入组件的差异有哪些?