Skip to content

A small python library for efficient string building and concatenation

License

Notifications You must be signed in to change notification settings

Tarrasse/string_builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

string_builder

A small python library for efficient string building and concatenation

Installation you can install this repo py pip

pip install StringBuilder

Introduction

python have a small issue when it comes to string concatenation, this library aims to solve this problem

The problem

when you append strings using + (ex: a += b), python behind the scenes creates a new string with the size of a + the size of b and copy the content of a and b byte by byte into the new string then make the a points to the new string, so the time complexity of single addition would be O(|a| + |b|)

this guy have wrote a good article about this problem and how to tackle it

The solution

A Good solution for this problem is to create a list and append the strings you want, then use "".join(list) convert the list to string, this will tackle this problem in amortized linear time because list.append() use table doubling

How to use it

first create a StringBuilder instance

from string_builder import StringBuilder
sb = StringBuilder()

then append the sub_strings you want

sb.append(sub_string)

you can replace or delete parts from the string

sb.replace (new, old)
sb.delete (start, end) 

to get the final string

sb.build()
#or 
sb.to_string()

pull requests are welcomed

this is an alpha version (under testing)

About

A small python library for efficient string building and concatenation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages