关于python split函数语言 在不使用split function的情况下去除多余的空格的方法

1410人阅读
Python(2)
作者同类文章X
&&&&&&&& 一直在做java,但是现在研究openstack,有研究源码提供API的任务,所以先看python基础,别到时侯干着急,下面只是我看书时候的一些笔记以及动手做时候的截图,并没有什么自己特别的思考整理,也就是说是给自己看的,误入的请绕行。
&&&&&&&& 学习一门语言,肯定首先要了解它的背景,与其它语言简单的比较,看它最适合应用的范围地方。第二点就是要学习语言细节,包括语法、数据结构、开发环境等一系列。再往深入了说,是要往它的设计思路上面考虑。
&&&&&&& 现在只是看它的语言细节。
&&&&&&& python知识点,由于基础教程这本书当时粗略的看过一遍,所以,和python核心编程这本书对比着看。
& & 一 & &基础知识
& & 1:在3.0中,1/2 的值是0.5,要想实现整除操作,必须要用双斜线,所谓的整除,就是结果保留整数位上的数字。在用双斜线的情况下,浮点数也会执行整除。
& & 2:取余运算&幂
& & 3:变量,想要使用变量,直接赋值就可以了,变量名可以包含字母数字下划线,但是不能以数字开头。
& & 4:语句是做某事,而表达式是某事
& & 5:input函数
& & & & 当输入第一行,然后回车的时候,第二行如下,然后可以在光标处输入数字了
& & 6:if语句
& & if后面跟判断表达式,然后加上冒号,然后加上后面的逻辑
& & 在解释器里面执行,需要按两次回车才会执行
& & 7:函数
& & 幂函数 pow()、四舍五入函数round(),绝对值函数abs(),还有向下去整函数floor(),例如32.9 floor一下得到32.与floor函数相对的是ceil函数,这个函数把32.9得到33.
& & 8:模块
& & 使用import。或者使用from math import sqrt,后面就可以直接写函数名字而不必要写模块名字了。
& & 也可以使用变量名来引用函数
& & 除非必要,还是直接使用import的好,如果使用了from ... import
..这个,别的都没法子用了。
& & 9:保存并执行程序
& & 可以从IDLE中直接 file --》 new window,打开一个文本编辑器,没有命令提示符。
& & 10:注释是#
& & 11:字符串
& & & & a:如果字符串里有单引号的话,要用双引号或者是转义字符
& & & & b:repr函数就是用反斜引号,输出包含数字的句子时比较有用
& & & & c:3.0中已经不是用反引号了,直接使用repr函数
& & & & d:长字符串,如果字符串跨越多行,那么可以用三个单引号来表示
& & & & e:或者在每一行后面加上斜杠,表示换行符本身被转义了。
& & & & f:原始字符串
& & & & 二& 数据结构--列表
&&&&&&& 1:基本数据结构是序列,sequence
& & &&&&序列的索引从0开始,也可以从最后一个元素标记为-1,倒数第二个计数为-2
& & 2:序列分为元组和列表,元组不能更改,是两者的主要区别
& & 3:python的内建序列6种
& & & & a:列表
& & & & b:元组
& & & & c:字符串
& & & & d:Unicode字符串
& & & & e:buffer对象
& & & & f:xrange对象
& & 4:关于序列的写法
& & & & 可以看到序列的使用方式。
& & & & 另外序列和映射(如字典),是两种主要的容器。
& & 5:通用序列操作
& & & & a:索引indexing
& & & & b:分片slicing
& & & & c:加
& & & & d:乘
& & & & e:成员资格
& & & & f:计算长度,找出最大元素和最小元素等内建函数
& & 6:索引
& & & & a:对于序列,可以正序从0开始计数,也可以从最后的元素-1开始计数,逆序的时候,第一个元素可以由index为0得到或者是通过序列长度
& & & & 例如:
& & & & 另外,还可以直接在字符串字面值后面加上索引,另外如果一个函数直接返回一个序列,那么可以直接对返回结果做 & & 索引操作。例如:
& & 7:分片
&&&&&&&&索引用来访问单个元素,分片操作用来访问一定范围内的元素,分片通过冒号相隔的两个索引来实现。
& & 可以看到分片里面,包含第一个索引,但是不包含最后一个索引号代表的元素。
& & 可以看到,想要得到从某一个索引开始到最后所有的值,可以这么写,省略最后的索引。
& & b:设置更大的步长
& &&可以看到,步长可以设置,另外当步长为副的时候,是从右到左提取元素,这时候第一个索引值一定要大于第二个索引值。完全是方向问题
& & c:两种相同类型的序列用加号链接
& & d:乘法,表示将序列重复n次
& & 创建一个占10个元素空间的空列表
& & None是内建值,表示什么都没有
& & e:成员资格--in
& &&可以看到,多个字符检查成员资格也可以。
& & f:长度,最大最小值
& & 8:列表 &---mutable
& & & & a:list函数
& & & & & & 根据字符串创建列表
& & & & & & 注意的是,用join这种方式的时候,参数值必须是字符型的列表,数字是不行滴,也就是说,列表中的元素必须用单引号引起来的那种。
& & & & b:基本列表操作
& & & & & & 1:改变列表,元素赋值删除操作两种方式,可以通过赋值操作得到。
& & 9:列表方法
& & python里面,函数是指内建的,例如上面的del函数,可以直接使用,但是方法是指特定对象特有的。列表提供了以下几个方法:
& & a:append,在列表尾部追加新对象
& & b:count,计数某个元素出现的次数
& & c:extend方法,直接在列表的尾部一次性追加另一个序列中的多个值。这个和加号的那个链接操作不一样,链接操作返回一个新的列表,原先的两个不变,而extend方法会改变被扩展列。
& & d:index找到某个值在列表中第一个匹配的索引位置,如果找不到会返回异常。
& & e:insert方法,插入值到列表中
& & f:pop方法,删除指定元素,并返回。默认情况下会删除最后一个。
& & ------栈,可以用pop方法以及append方法实现,而队列可以用insert(0,。。)以及pop(0)实现
& & g:remove方法只是删除第一次出现的值
& & h:reverse方法,将列表中的元素逆序存放
& & i:sort方法需要注意点,会对列表做出改变,另外,想要先复制然后再做操作的时候,不能仅仅复制引用,要用切片的方式复制所有例如 y = x[ : ]。而sorted函数会返回sort好的列表,不该办原来的列表顺序。
& & j:想要根据元素的长度排序或者逆序排序
& & 注意点,布尔值必须写作True,不能改变大小写
三 数据结构--元组
& & 1:要创建元组,只要用逗号分隔了一些值,就自动创建了元组,通过括号括起来
& & & & 只有一个值的元组,必须加上一个逗号
& & 2:元组是用括号,而列表是用[]
& & 3:tuple函数---和序列中的list函数类似,给定一个序列,转换成元组
& & 基本操作和序列的一样
四 数据结构--字符串
1:基本操作就和序列中的一样,但是字符串是不可变的,所以一些赋值操作不可用
& & 2:字符串格式化,直接读精简版的,到时候具体用到再读3.4节详细的
& & & & 字符串格式操作符:%,左侧放置格式化字符串,右侧放置想要格式化的值
& & 3:常用方法
& & & & a:find方法可以在一个较长的字符串中查找子字符串,还可以指定起始点等
& & & & b:join方法,是split方法的逆方法,这个需要注意下,用来在队列中添加元素
& & & & c:lower方法--title方法
& & & & d:replace方法,所有项都要替换
& & & & e:split方法,join的逆方法,将字符串分割成序列
& & & & f:strip方法去除两端的空格,就像是Java中的trim方法
& & & & g:translate方法只处理单个字符,但是可以同时进行多个替换
五 数据结构--字典
1:创建字典,大括号,每一项用:分隔表示键值对
& & 2:dict函数可以通过其它的字典或者键值对来产生新的字典,或者关键字参数
& & 3:字典方法
& & & & a: clear方法,清空字典
& & & & b:copy,浅复制,深复制到话用deepcopy
& & & & c:get方法,这个比较好的地方就是,查询不到的话不会返回异常
& & & & d:has_key方法,判断是不是有给出的键
& & & & e:items,iteritems
& & & & f:pop
& & & & g:popitem随机弹出一个元素
& & & & h:update方法
& & & & i:values返回字典中的值,用列表的形式
六 条件,循环,和其它语句
1:print函数,打印多个参数,只要中间用逗号分隔就行了
& & 2:,一定要注意3.0以后,print必须加上括号了。
& & 3:序列解包
& & 5:语句块,以 : 开始,缩进相同
& & 6:运算符
& & & & a:相等运算符用 ==
& & & & b:is判断同一性而不是相等性,也就是是不是两个参数指向同一个对象
& & & & c:while循环
& & & & d:for循环,和Java的foreach循环很像
& & & & e:zip函数,挺有用的
& & 7:列表推导式——利用其他列表创建新列表的方法,类似for循环
& & 8:python中空代码块是违法的,所以要加上pass
& & 9:python中无法删除值,
& & & & 注意del删除的是名字本身
& & 10:动态的创建代码字符串exec
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:267766次
积分:3363
积分:3363
排名:第5327名
原创:78篇
转载:58篇
评论:53条
(1)(2)(4)(9)(5)(8)(4)(95)(9)Excel-VBA中如何使用split来分割内部含有不定空格的字符串_百度知道
Excel-VBA中如何使用split来分割内部含有不定空格的字符串
split语法为:split(要分割的内容,分隔符)根据题意,举例如下:1、Split(内容,& &),即可分割内部还有不定空格的内容2、分割后为一维数组3、空个数量不定,可能或产生空元素,需要循环,重新去除非空元素即可。
其他类似问题
为您推荐:
提问者采纳
set&nbsp可以用正则把多个空格变成一个后,&vbscript.replace();a&nbsp,str&arr=split(&&nbsp.regexp&quot,&&nbsp,&&d&msgbox&&)&#39.replace(as&)&quot.pattern=&&stringstr=&&c&b&reg=createobject(&quot,在splitdim&&&\s+&quot
复制了你的代码,只能将a和b之间的多个空格变为1个,b和c、c和d之间的空格还是那么多
dim&reg,str&as&stringstr=&a&&&b&c&&&d&set&reg=createobject(&vbscript.regexp&)reg.pattern=&\s+&reg.global=true'加上全局匹配应该就可以了。msgbox&reg.replace(str,&&&)'arr=split(reg.replace(str,&&&),&&&)
提问者评价
来自团队:
其他2条回答
println(&quot, &\\asf1dskf 2 df(3)df&.replaceAll(&d]*&n&[^\\d]*(\d)[^\$1\;))System.out
先用多次的replace把双空格转换成单空格。
split的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁您正在使用IE低版浏览器,为了您的IThao123账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
总结一下处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)
总结一下处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)
去除html标签:function del_html_tags(str){&&& var words =
'';&&& words =
str.replace(/&[^&]+&/g,"");&&&}去除空格:function Trim(str,is_global){&&&&&& result =
str.replace(/(^s+)|(s+$)/g,"");&&&
if(is_global.toLowerCase()=="g")&&& result =
result.replace(/s/g,"");&&&}&计算真实长度:备注:js的length方法计算的是个数,一个汉字长度是1,一个字母长度也是1。本方法里面,定义:一个汉字长度为1,相当于2个字母的长度function
get_length(str){&&& var char_length =
0;&&& for (var i = 0; i & str.
i++){&&& &&& var son_char =
str.charAt(i);&&& &&&
//如果是汉字,长度大于2,其他任何字符(包括¥等特殊字符,长度均为1)另外:根据需求规则,限制n个字,一个字=2个字符&&&
&&& encodeURI(son_char).length & 2 ? char_length += 1 :
char_length += 0.5;&&& }&&&
&&& return char_&}截取字符串:function
cut_str(idname, maxlen){&&& var str =
$('#'+idname).val();&&& var char_length =
0;&&& var sub_len = 0;&&& for (var i = 0;
i & str. i++)&&& {&&&
&&& var son_str = str.charAt(i);&&&
&&& //如果是汉字,长度大于2,其他任何字符(包括¥等特殊字符,长度均为1)另外:根据需求规则,限制n个字,本方法里面,一个字(汉字)的长度=2个字符的长度,可根据需要改动&&&
&&& encodeURI(son_str).length & 2 ? char_length += 1 :
char_length += 0.5;&&& &&&
//如果长度大于给定的n个字,就进行截取&&& &&& if (char_length
&= maxlen)&&& &&& {&&&
&&& &&&&&& &&&
&&& var sub_len = char_length == maxlen ? i+1:&&& &&& &&& var
tmp=$('#'+idname).val().substr(0, sub_len);&&&
$('#'+idname).val(tmp);&&& &&&
&&&&&& &&&
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊javascript去除多余空格的正则!~~_百度知道
javascript去除多余空格的正则!~~
如一个字符串是&aa bb cc dd& 怎么用正则实现结果是&aa
提问者采纳
\;&^\去右空格;s*/;/function rTrim(s){function trim(s){ return rTrim(lTrim(s))怎么还是一样的.replace(&#47.replace(/s*$&#47, &左右空格;);/);}/}/&#47, &&quot?/ 去做空格function lTrim(s){ return s
其他类似问题
为您推荐:
其他3条回答
var word_trim = } alert(new_word)不用正则也可以。速度更快; for(var i=0。 var word = & var new_word=&i++) { new_word += word_trim[i];&quot.i&word_.split(& &);aa bb cc dd&
str = str.replace(/ /g,&&);这样就行了。不知道有没有什么漏洞,同学同学。
str=str.replace(/^\s+|\s+$/g,&&);
javascript的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 python 去除多余空格 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信