String Combinator

About the application

StringCombinator v0.45 – application intended to shuffle and substitute strings using several different methods. It allows using various methods, from simple iteration of strings to multilevel substitution with the string replacement. This application offers simple interface and involves easy working principles. At the very same time it’s very functional and can be really useful. This application will be handy for webmasters, SEO-specialists and all other people involved into the process of content posting and optimization or website promotion. By using StringCombinator you can easily generate all possible combinations of search strings, select anchors and meta-tags, create various data lists and string sets etc.

The main window of the application contains four small fields (red, green, blue and yellow columns) where the user is able to put their own lists of words (strings). It also offers one big field that is used to show generated results. The user is able to click on the various items of the main menu in order to choose the proper shuffling mode.

Main advantages of StringCombinator:

A while ago Combinator v0.05 application was published. It was a mini-application intended to shuffle string lists. Even though it’s pretty primitive, it saved a lot of precious time for the users. However, it had a significant disadvantage. It was able to shuffle strings only using a separator, while the users had to add strings into several customized templates once in a while.

Sometimes we have to shuffle several pages of a website or a portal, changing a specific number on the page to several other options in the manual mode. One can do that in a couple of seconds by using the combinator application. One just needs to add the list of such links to the yellow column. After that one has to replace the number with {R}, adding al the required numbers to the red column. Let’s say that one has 50 websites, which send a part of the list to the proxy server, while you need to check the first 50 pages, thus generating 2500 links. For example, you may need to check existence of specific files and paths in the domain list, which results in the huge number of required substitution operations.

The majority of the program features can be replicated with any replacer application, so what are the advantages of StringCombinator?

  • The user is able to replace not only {R}, but all other strings (containing numbers and Latin symbols), i.e. perform various replacement operations.
  • The replaced string may be added as many times as the user wants. One can add the following information to the yellow column: "Inclusion 1 - {R}, inclusion 2 - {R}, inclusion 3 - {R}", thus replacing 3 elements.
  • The user is also able to compose strings in 3 columns, sending different requests: red for {R}, green for {G}, blue for {B}. In other words, the user is able to add the list with names, surnames, addresses etc.
  • It offers recursive replacement feature. Firstly, all the blue elements are replaced in the list, followed with green ones and red ones. That means the red column may contain instructions for blue and green column replacement, while green one may contain instruction for the blue column. It’s pretty hard to understand the idea of recursive replacement, and maybe you don’t need it at all, but sometimes it helps to do everything at once without moving generated results between the columns.
  • It allows saving into the file only after the complete generation of all the rows in the red column! That’s why you need to keep in mind that the application is using PAM to keep all the options for each row of the red block (it’s recommended to make it the biggest one). If the app is going to save each generated string into the file, such app is going to be significantly slower.
  • Final results may be saved into the file or the program log (can be activated by checking "Log to file" or/and "Log to memo" items of the main menu). Obviously, the user has to save only small amounts of data into the log. If the user wants to generate more than 10Mb, it’s recommended to save information directly to the file in order to keep the speed. The application was able to generate the list of the links of more than 2 GB relatively fast.
  • It also allows indicating the order of memo combination (colored columns). This feature is available in "Custom Rule" field. The user is able to indicate RG in order to shuffle red and green lists or RRR in order to mix red strings three times. This field supports the maximum of 4 letters. By the way, all combined lists are simply calling "Combine Custom Rule" feature now sending the required rule (in the previous version this feature was represented as a set of mini-functions, keeping the best traditions of Indian programmers).
  • The application also offers "Combine Custom Rule Flip". This feature allows combining strings in the reverse order. The user will receive 00,10,20..89,99 instead of 00,01,02…98.99. I needed this feature, so it may be useful for you too.

So now it’s not just a combinator, but the application that supports multilevel string replacement.

Use case:

  • Sometimes the user needs to make a list of images or links in BBCode format, using the file list, the link list and the anchor text list...

    New version of the application supports this feature and works as follows:

    The user needs to put the list of the masks for substitution into the yellow column. If the user needs to add a single list, they have to create the following template (add a string to the yellow column) "My name is {R}", and add the name list into the red column. Thus, after using R->Y model the user will receive the list with the following strings: “My name is Mike”. However, this feature was supported even in the previous version, by adding “My name is” into the blue column, and the name list into the green column, clicking "Combine B+G").

  • Recently, one of the users asked how to generate the list with the numbers from 0 to 999999999. Furthermore, sometimes the user needs to generate a wordlist with all possible combinations of the limited set of symbols. It’s recommended to use this application for such lists.

    Recently, one of the users asked how to generate the list with the numbers from 0 to 999999999. Furthermore, sometimes the user needs to generate a wordlist with all possible combinations of the limited set of symbols. It’s recommended to use this application for such lists.

    In case with numbers the user has to add all the numbers from 0 to 9 into one column (adding to R), and copy that column into G and B. After that the user has to generate all the options (Combine RGB). After that we can take the generated results (1000 strings from 000 to 999) and copy it to three columns (R,G,B ) clicking "Combine RGB" once again. Don’t forget to disable visual representation of the process (ctrl+f6), using log-file export feature (ctrl+f5), because the size of the final file will be around one gigabyte.

    We need to use the same logic in case with letters. By the way, in order to work with numbers, we can write a program that will use "for" cycle from 0 to the required number, writing every number to the log. However, if we need to add zeroes at the beginning (00000001, 00000002), we have to write a couple of additional code strings. In order to avoid freezing of the application we have to create a simple buffer in order to fill it before saving information into the file (otherwise, the application will send request to the file every time it generates new number), which results in additional code strings. Or you can take StringCombinator, and use already working features without wasting precious time.

Functionality of the application:

Simple shuffling or combining:

Combine RGBY (Single Random) – take one random row from each column and show the result.

Combine Custom Rule (Counter/All) – the user is able to indicate the order of string combination. "Custom Rule" can be used to indicate RG in order to shuffle red and green lists or RRR in order to mix red strings three times. This field supports the maximum of 4 letters.

Combine Custom Rule Flip (Counter/All). This feature allows combining strings in the reverse order. The user will receive 10,20..79,89 instead of 01,02…97,98.

Combine Custom Rule Unique (Counter/All) – combination with exception mode. For situation when values from the same column are used (e.g. when "Custom Rule" is RRR) in order to avoid double usage of the similar string.

Combine R*G (Counter/All) – shuffle only red and green columns. It’s equal to "Combine Custom Rule (Counter/All)" feature with "Custom Rule" equal to "RG".

Combine R*G*B (Counter/All) – shuffle only red, green and blue columns. It’s equal to "Combine Custom Rule (Counter/All)" feature with "Custom Rule" equal to "RGB".

Combine R*G*B*Y (Counter/All) – shuffle all columns. It’s equal to "Combine Custom Rule (Counter/All)" feature with "Custom Rule" equal to "RGBY".

Insertion modes:

Insert R->Y (ALL) – "Replace String RED" element (default value = {R}) is replaces in all the rows of the yellow column with all rows from the red column. In other words, red strings are inserted into the yellow strings.

Insert G->R->Y (ALL) – similarly, all the green strings are added to the red strings, and then red strings are added to the yellow column.

Insert B->G->R->Y (ALL) – similarly, all the blue strings are added to green ones, all the green strings are added to the red strings, and then red strings are added to the yellow column.

Template working mode:

It works similarly to "Insert" mode, but substitution is made to the entire text, and not to the each row of the yellow column. In other words, the yellow column is considered as a template and not as a list.

"One Template R,G,B->Y (Counter Sequence)" – this feature takes one similar row from the red, the green and the blue columns (e.g. 3rd red string, 3rd green and 3rd blue) and adds them into the yellow template. In this mode the total number of options is limited by the number of rows in the shortest list.

"One Template R,G,B->Y (Single Random)" – this feature takes random rows from the red, the green and the blue columns (totally random rows in all columns) and adds them into the yellow template.

"One Template R,G,B->Y (Counter Random)" – calls "Single Random" for the required number of times.

"Templates R,G,B->Y (Counter Sequence)" – it works similarly to "One Template R,G,B->Y (Counter Sequence)", but each new template is saved into a separate file.

Currently, this mode is available only for registered users!

"Templates R,G,B->Y (Counter Sequence)" - it works similarly to "One Template R,G,B->Y (Counter Random)", but each new template is saved into a separate file.

Currently, this mode is available only for registered users!

Additional features

Erase Memo. If you have noticed, the application is always saving memo information into the configuration file before closing. If you added huge lists there, the process of opening and closing of the program will take some time. That’s why it’s recommended to export all the lists using "Save Project" and clear memo before closing the application. There’s a problem here. If you use "Clear Memo" feature, the data is going to be removed, but old information won’t be removed from the configuration file (it’s a feature of the component that saves configuration in XML, because it won’t write anything if memo is clear). That’s why I had to add the following mode. Firstly, all the data is cleared. Secondly, an empty string is added in order to save the list in XML, allowing fast closing and opening of the application.

Screenshots:

String Combinator String Combinator String Combinator

Download:

You can get the latest version of the program (v0.45 from 26/09/2015) here absolutely for free.