python中将指定的字符串转换为大写字母并每隔2个字符用空格分割后得到一个新字符串的方法

在例子中对指定的字符串:

faa5fbb5fcc5fdd5010200000028000001900000000a002d00000000017d7840000003e800005fa55fb55fc55fd5

使用了三种方法将其转换为大写字母并每隔2个字符用空格分割处理后得到一个新字符串,为: 

FA A5 FB B5 FC C5 FD D5 01 02 00 00 00 28 00 00 01 90 00 00 00 0A 00 2D 00 00 00 00 01 7D 78 40 00 00 03 E8 00 00 5F A5 5F B5 5F C5 5F D5

为验证三种方法的执行效率,对原字符串扩充为其100倍长度,然后执行10000次处理,从其耗时结果上看,第一种方法最慢,第二、三种方法较好。

代码:

 1 # -*- coding: utf-8 -*-#
 2
 3 #-------------------------------------------------------------------------------
 4 # Name:         MySplit
 5 # Description:  将指定的字符串转换为大写字母并每隔2个字符用空格分割后得到一个新字符串
 6 # Author:       Administrator
 7 # Date:         2018/7/6
 8 #-------------------------------------------------------------------------------
 9
10 import re
11 import time
12
13 #待分割字符串
14 myStr = ‘faa5fbb5fcc5fdd5010200000028000001900000000a002d00000000017d7840000003e800005fa55fb55fc55fd5‘
15 #分割后: FA A5 FB B5 FC C5 FD D5 01 02 00 00 00 28 00 00 01 90 00 00 00 0A 00 2D 00 00 00 00 01 7D 78 40 00 00 03 E8 00 00 5F A5 5F B5 5F C5 5F D5
16
17 def mySplit1(str):
18     t=‘‘
19     for i in range(len(str)/2):
20         t += str[2*i:2*(i+1)] + ‘ ‘
21     t = t.upper()
22     return t
23
24 def mySplit2(str):
25     t = str.upper()
26     p = re.compile(‘.{1,2}‘)  # 匹配任意字符1-2次
27     return ‘ ‘.join(p.findall(t))
28
29 def mySplit3(str):
30     t = str.upper()
31     return ‘ ‘.join([t[2*i:2*(i+1)] for i in range(len(t)/2)])
32
33 print(‘原始字符串:\n‘ + myStr + ‘\n‘)
34 print(‘转换后字符串:‘)
35 print(‘mySplit1: ‘ + mySplit1(myStr))
36 print(‘mySplit2: ‘ + mySplit2(myStr))
37 print(‘mySplit3: ‘ + mySplit3(myStr))
38
39 print(u‘\n耗时测试:‘)
40 myStr = myStr * 100
41 for f in [mySplit1, mySplit2, mySplit3]:
42     t = time.time()
43     for i in range(10000):
44         f(myStr)
45     print(f.func_name + ‘: ‘ + str(time.time()-t) + ‘ s‘)

运行结果如下:

原文地址:https://www.cnblogs.com/luke0011/p/9278777.html

时间: 2024-10-12 04:02:07

python中将指定的字符串转换为大写字母并每隔2个字符用空格分割后得到一个新字符串的方法的相关文章

在JS中将指定表单内的“具有name数据的表单元素的值”封装为Get形式的字符串

//封装post时候,表单中所有具有name数据的表单元素的值,并返回“n=1&p=a” function serialize(formid) { var arr = []; var ipts = document.getElementById(formid).getElementsByTagName('input'); for (var i = 0; i < ipts.length; i++) { if (ipts[i].type=='text') { if (ipts[i].name)

汇编-小写字母转换为大写字母

一.实习题目:小写字母转换为大写字母 二.实习目的:  1.掌握分支程序设计方法 2.了解小写字母和大写字母在计算机中的表示方法并显示. 三.代码:   data segment A db 'a'; B db 'z'; C db 00h; bb db 0ah,0dh,'$' string db 0ah,0dh,'The input num is not a case letter','$'; data ends code segment assume DS:data,CS:code star

统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数,其他字符出现的次数。

/** * A:案例演示 * 需求:统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数,其他字符出现的次数. * [email protected]#$%^ * 分析:字符串是有字符组成的,而字符的值都是有范围的,通过范围来判断是否包含该字符 * 如果包含就让计数器变量自增 */ public static void main(String[] args) { String s = "[email protected]#$%^"; int big = 0; int smal

统计字符串中大写字母个数

可将字符串转为字符数组,然后对数组进行遍历,进而统计大写字母的个数. 下面给出代码: import java.util.Scanner; public class Main { public static void main(String args[]){ Scanner in = new Scanner(System.in); String str = in.nextLine(); int count = 0; char ch[] = str.toCharArray(); //转为字符数组 f

计算一个字符串中大写字母、小写字母、特殊字符、数字的个数

1 public class Test_123_Test { 2 public static void main(String[] args) { 3 String str = "[email protected]#¥%……&"; 4 int bigs = 0;// 记录大写字母的个数 5 int smalls = 0;// 记录小写字母的个数 6 int others = 0;// 记录其他字符的个数 7 int shuzi = 0; 8 System.out.println

c语言求字符串中大写字母个数,单词个数,子串个数及一个整数是否为回文数

#include <stdio.h> #include <ctype.h> #pragma mark 统计从终端输入的字符中每个大写字母的个数.用#号作为输入结束标志 int main() { int num[26] = {0}, i; char c; while ((c = getchar())!='#') { if (isupper(c)) { num[c-65]++; } } for (int i = 0; i<26; i++) { if (num[i]) { prin

Java 练习:求指定字符串中大写字母,小写字母,其他字符分别的个数。

/* public class Test1{ public static void main(String[]args){ String s = "abcdeEFHDKEI38475 "; char a[] = s.toCharArray(); int lower = 0,upper = 0,other = 0; for(int i=0; i<a.length; i++){ if(a[i]<='z' && a[i]>='a') lower++; els

将小写字母转换为大写字母

var pinyin = (function () { var Pinyin = function (ops) { this.initialize(ops); }, options = { checkPolyphone: false, charcase: 'default' }; Pinyin.fn = Pinyin.prototype = { init: function (ops) { this.options = extend(options, ops); }, initialize: f

shell将字符串转换为大写变量并将小写作为变量值

group_name='a b c d e f g' for a in $group_name; do typeset -u a ; echo "$a='$(echo $a | tr '[A-Z]' '[a-z]')'";done 执行结果: A='a' B='b' C='c' D='d' E='e' F='f' G='g'