#!/usr/bin/python
# -*- coding: UTF-8 -*-
from lib_001_decorator_log_funcname import decorator_log_funcname 
s1 = 'hello s1'
s2 = "hello s2"
s3 = '''
guyu
  conghua
    123
'''
@decorator_log_funcname
def _test_define():
#    print("\n_test_define")
    print(s1)
    print(s2)
    print(s3)   
@decorator_log_funcname
def _test_string_plus_string():
#    print("\n_test_string_plus_string")
    ss = s1 + " " + s2
    print(ss)
@decorator_log_funcname
def _test_string_cut():
#    print("\n_test_string_cut")
    ss = s1[0:3]
    print(ss)  
    ss = s1[2:4]
    print(ss)       
def _test_string_length():
    print("\n_test_string_length")  
    print(s1.__len__())    
    print(s3.__len__()) 
def _test_string_pos( ss, i ):
    print("\n_test_string_pos")  
    print(ss.find(i))
def _test_string_replace( ss, sub1, sub2 ):
    print("\n_test_string_replace") 
    ss.replace( sub1, sub2 )
    print(ss)
    print(s1) 
    ss = ss.replace( sub1, sub2 )
    print(ss)
    print(s1)     
def _func_string_insert( ss, pos, sub1 ):
    print("\n_func_string_insert") 
    l = list(ss)
    l.insert(pos, sub1)
    ss = ''.join(l)
    print(ss)
def _func_string_del( ss, sub1 ):
    print("\n_test_string_del") 
    ss = ss.replace( sub1, "" ) 
    print(ss)  
def _func_get_last_n_char( ss, n ):
    print("\n_func_get_last_n_char")    
    ll = ss.__len__()
    print( ss[ ll-n : ll ] )     
def _test():
    _test_define()
    _test_string_plus_string()
    _test_string_cut()
    _test_string_length()
    _test_string_pos(s1, 'llo')
    _test_string_replace(s1, 's1', 'xx')
    _func_get_last_n_char(s1, 2)
    _func_string_insert(s1, 1, 'xx')
    _func_string_del(s1,"el")
    
if __name__ == '__main__':
    _test()

python_test_0001_base_string的更多相关文章

随机推荐

  1. RestTemplate的调用方式、服务消费者

    二:RestTemplate 通过RestTemplate可以实现不同微服务之间的调用 RestTemplate是spring框架提供的一种基于RESTful的服务组件,底层对HTTP请求及其相应进行 ...

  2. EPICS Archiver Appliance存储waveform记录的尝试

    https://blog.csdn.net/u013894429/article/details/79724454 按上面的指导很容易跑起来,试了一下,也能archive短些的waveform记录,很 ...

  3. 原生微信小程序跳转传参 : [非TabBar跳转传参] 和 [TabBar跳转传参]

    一般常用的微信小程序跳转分为两种 1.非TabBar跳转 2.TabBar跳转 1.非TabBar跳转 非TabBar页面的跳转通常使用wx.navigateTo来跳转页面,在链接后面加 ? 传参,如 ...

  4. Mars3D入门示例

    1. 引言 Mars3D是基于Cesium的Web端的三维GIS库,对Cesium做了进一步封装和扩展 Mars3D官网:Mars3D三维可视化平台 | 火星科技 Mars3D开发手册:开发教程 - ...

  5. godis实战

  6. left join(二)

    left join 通俗的解释:以左表为主表,返回左表的所有行,如果右表中没有匹配,则依然会有左表的记录,右表字段用null填充.看起来非常好理解,但实际操作的过程中可能会有一些很容易被忽略的点. 一 ...

  7. max virtual memory areas vm.max_map_count 65530 is too low的解决办法

    解决办法 /etc/sysctl.conf加上 vm.max_map_count = 262144 使配置永久生效 执行: sysctl -w vm.max_map_count=262144 使配置立 ...

  8. u8g2 资料汇集

    移植U8g2 https://www.cnblogs.com/frozencandles/p/16358483.html 函数接口说明: https://github.com/olikraus/u8g ...

  9. c++获取类型信息

    获取类型信息 typeid typeid运算符用来获取一个表达式的类型信息. 对于基本类型数据, 类型信息比较简单, 主要指数据的类型; 对于对象(类类型的数据), 类型信息指: 对象所属的类, 所包 ...

  10. ES搜索- term与match区别&bool查询

    term属于精确匹配,只能查单个词,tems可以匹配多个词(满足其中之一词的都会被搜索出来),多个词如果要同时匹配使用bool的must(must中带多个term): match进行搜索的时候,会先进 ...