问题

一个多行字符串,"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);

python和js分别在多行字符串中插入一行字符串的更多相关文章

  1. String的两个API,判断指定字符串是否包含另一字符串,在字符串中删除指定字符串。

    // 在字符串中删除指定字符串. String phoneNum="1795112345"; phoneNum = phoneNum.replace("17951&quo ...

  2. C++ 在字符串中插入子串+推断字符串是否由空格组成

    // Example3.cpp : 定义控制台应用程序的入口点. #include "StdAfx.h" #include <string> #include < ...

  3. String 类中的几个练习--获取指定字符串中,大写字母、小写字母、数字的个数||获取一个字符串中,另一个字符串出现的次数

    package cn.homework.demo1; public class GetCount { /* * 获取一个字符串中,另一个字符串出现的次数 * 思想: * 1. indexOf到字符串中 ...

  4. Java 获取一个字符串中,另一个字符串出现的次数

    Java 获取一个字符串中,另一个字符串出现的次数 思想: 1. indexOf到字符串中到第一次出现的索引2. 找到的索引+被找字符串长度,截取字符串3. 计数器++ 代码实现: public cl ...

  5. bat 判断变量字符串中是否包含字符串

    bat 判断变量字符串中是否包含字符串 @echo off rem way 1 set str=machine-order-service set matchStr=orderd echo %str% ...

  6. python,如何获取字符串中的子字符串,部分字符串

    说明: 比如有一个字符串,python,如何就获取前3位,或者后2位.在此记录下. 操作过程: 1.通过分割符的方式,下标的方式,获取字符串中的子串 >>> text = 'pyth ...

  7. js实现截取或查找字符串中的子字符串

    获取 答案: var string0="sss.sscdyfasdfdgfg";//sscdy获取 ,); 答案是采用substr方法. 定义和用法:substr方法用于返回一个从 ...

  8. python之字符串中插入变量

    方法一:也是 比较好用的,功能教齐全 s="{name} is {sex}" print(s.format(name="zzy",sex="girl& ...

  9. php基础10:字符串中插入变量

    <?php //插入字符串 //1.双引号可以解析字符串中的变量:但是前后不能跟中文符号 $username = "gaoxiong"; echo "my name ...

随机推荐

  1. Vue 路由跳转报错 Error: Avoided redundant navigation to current location: "/XXX".

    在router文件夹下的index.js中加入红色字体代码即可解决 import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(V ...

  2. Request请求对象

    一.Request对象由服务器创建,我们使用 浏览器访问服务器资源原理: 二.Request体系结构 其中,servlet 的service()方法参数列表是 servletRequest对象, Ht ...

  3. Web GIS 航拍实现的智慧园区数字孪生应用

    前言 随着智慧城市建设的不断发展,智慧园区作为智慧城市的先行区,其覆盖区域越来越大,产值越来越集中,对于园区数字化建设和智能化管理的诉求也愈加强烈.园区数字化管理是以实现园区多维度业务数据汇聚.融合. ...

  4. PHP中PDO关闭连接的问题

    在之前我们手写 mysql 的连接操作时,一般都会使用 mysql_close() 来进行关闭数据库连接的操作.不过在现代化的开发中,一般使用框架都会让我们忽视了底层的这些封装,而且大部分框架都已经默 ...

  5. C# Redis学习系列二:Redis基本设置

    上一篇:C# Redis学习系列一:Redis的认识.下载.安装.使用 一.redis 设置密码 使用下载好的 redis-cli.exe 指令: 1.设置密码: config set require ...

  6. Java基础系列(32)- 递归讲解

    递归 A方法调用B方法,我们很容易理解 递归就是:A方法调用A方法!就是自己调用自己 利用递归可以用简单的程序来解决一些复杂的问题.它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题 ...

  7. TP框架 商城前台用户注册方法

    //注册 public function register(){ if(IS_POST){ //接收数据 $data = I('post.'); $model = D('User'); $data[' ...

  8. 自己写登陆验证及借用auth的is_authenticated验证是否登陆

    一. 自己写登陆需要注册,一个session的处理,还有一个session的删除 #自定义一个闭包装饰器,来验证def checkLogin(func): def wrapper(request, * ...

  9. pyqt5读取文本框内容,输出到日志框(QTextBrowser)

    import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QAction,QLabel,QLineEdit,QPushButt ...

  10. nginx 配置文件(支持thnkphp3.2~5)

    server { listen 8080 ; server_name localhost; set $root /var/www/myweb; #listen 443 ssl; #ssl_certif ...