15 functions:

Examples 1-14 all use the contents of the following two files:

File A: 
111
111
111
222
222
333

File B:
123
AAA
333
AAA
222
________________________________________________________________________________

1.Fetch same contents from A and B, generate C

It means fetching same contents which exist in two different files A and B, to generate a new file C.

If you tick "keeping duplicates", contents of file C will be:
333
333
222
222
222

This is because when you tick "keeping duplicates", all same contents will be kept in file C together if there are more than one copy.

Here, there are two "222" and one "333" in A, as well as one "222" and one "333" in B. Hence, then it generates two "333" and three "222".

Then what if you don't tick "keeping duplicates"? File C will be:
333
222

By not ticking "keeping the duplicates", existing contents are overwritten if the new content have the same value. Hence, there is only one copy of "333" and "222".
________________________________________________________________________________

2.Fetch different contents from A and B, generate C.

It means fetching contents which don't exist simultaneously in both file A and B, to generate a new file C.

If you tick "keeping duplicates", contents of file C will be:
111
111
111
123
AAA
AAA

There are three "111" exist in file A but not in file B, while one "123" and two "AAA" exist in file B but not in A. Hence, then contents of C will include one "123", two "AAA", and three "111".

What if you don't tick "keeping duplicates"? Then file C will be:
111
123
AAA

That is, only one copy is kept.
________________________________________________________________________________

3.Fetch contents which A includes but B excludes, generate C.

It is easy to understand, we extract contents in A but not in B to generate C.

If you tick "keeping duplicates", contents of file C will be:
111
111
111

Among the contents of file A, there is only "111" which B does not include. Both "222" and "333" can be found in B. So C will include three "111" when "keeping duplicates" is selected.

And there will be only one "111" in file C if "keeping duplicates" is not selected, just as you have guessed. 

Some guys asked me how to extract contents that B includes but A excludes to generate C? I won't tell them that they could choose file B via "browse file A", and choose file A via "browse file B".
________________________________________________________________________________

4.Combine A and B, generate C

That is putting contents of file A prior to file B to generate file C

If you tick "keeping duplicates", contents of file C will be:
111
111
111
222
222
333
123
AAA
333
AAA
222

The contents of file A and B are all retained. Have a check!

And if you don't tick "keeping duplicates", file C will be:
111
222
333
123
AAA

Only one copy of every item is kept. Check again!
________________________________________________________________________________

5.Empty repetitive contents of A, generate C

Special attention! Deleting the duplicate here means nothing left (clearing all contents that have more than one copy). For example, when there are two "111",we delete both but not just one "111", then the file generated will not contain "111". How to keep one copy will be explained later. It cannot be achieved by function 5.

As all the duplicated contents are deleted, the option"keeping duplicates"is insignificant.

File C will be:
333

Three "111" and two "222" of file A are deleted. 
________________________________________________________________________________

6.Fetch repetitive contents of A, generate C.

It is opposite to previous function. Only repetitive contents can be remained.

If you tick "keeping duplicates", file C will be:
111
111
111
222
222

"333" is deleted because it is single.

If not tick "keeping duplicates", file C will be:
111
222

Although there are three "111" and two "222", only one "111" and one "222" remained.
________________________________________________________________________________

7.Prefix before each line of A, generate C

Use this function if you want to prefix each line with specified content. For instance, if you'd like to put "hi" before "RuiWang Li" (author of this software) to get "hi RuiWang Li". What should you do? Fill in the text box at bottom right with "hi" after choosing file A, then run the program.

If you tick "keeping duplicates", file C will be:
hi 111
hi 111
hi 111
hi 222
hi 222
hi 333

Or file C will be like this if "keeping duplicates" is not ticked: 
hi 111
hi 222
hi 333
________________________________________________________________________________

8.Suffix after each line of A, generate C

It's opposite to the function 7. How do you suffix "RuiWang Li" (who is he?) with "hi" to get "RuiWang Li,hi"? Fill in the text box at bottom right with "hi" after choosing file A, then run the program.

If you tick "keeping duplicates", file C will be:

111,hi
111,hi
111,hi
222,hi
222,hi
333,hi

Or file C will be like this if "keeping duplicates" is not ticked: 

111,hi
222,hi
333,hi
________________________________________________________________________________

9.Arrange B in A order, generate C

If you get file B with random order and want to rearrange it according to the sequence of file A, try this function.
222
333
123
AAA

File C will be like this if "keeping duplicates" is ticked: 
"
222
333
123
AAA
AAA

First, content "222" existing in file B is found appearing in file A. "333" is found later, and "123" as well as "AAA" are attached at last.
________________________________________________________________________________

10.Reverse from the last row of A, generate C

It is used to read the file reversely from the last line to generate file C. Then the last line become the first and the first turn to be the last.
333
222
111

If you tick "keeping duplicates", file C will be:
333
222
222
111
111
111
________________________________________________________________________________

11.Arrange A in ascending order, generate C

Compare contents from different lines and arrange them in ascending order to generate a new file C.
111
222
333

The first line is "111", the second line is "222", and the third one is "333". They are rearranged from small to large.

If "keeping duplicates" is ticked, file C will be:
111
111
111
222
222
333

It is similar to the last instance, but duplicate contents are all kept while the file is remained completely.
________________________________________________________________________________

12.Arrange A in descending order, generate C

Compare contents from different lines and arrange them in descending order to generate a new file C.
333
222
111

The first line is "333", the second line is "222", and the third one is "111". They are rearranged from large to small.

If "keeping duplicates" is ticked, file C will be:
333
222
222
111
111
111

It is similar to the last instance, but duplicate contents are all kept while the file is remained completely.
________________________________________________________________________________

13.Generate C from contents which A includes B

Attention. Here, "include" doesn't refer to "equal to". For example, "A123B" includes "123".
222
333

If "keeping duplicates" is ticked, file C will be:
222
222
333

Besides, it's case insensitive, as "A123B" including "a12" and "23b".
________________________________________________________________________________

14.Generate C from contents which A excludes B

Attention. Here, "exclude" doesn't only refer to "not equal to".
111

If "keeping duplicates" is ticked, file C will be:
111
111
111

Besides, it's case insensitive, the same as function 13.
________________________________________________________________________________

15.User-defined, example: A1:B2 = A1B1A2B3

This is a flexible expression, which adds much lustre to "Matching-Helper".

File A:
000	222	de2	333	444	555	666	777
001	223	qs3	334	445	556	667	778
002	224	Aa4	335	446	557	668	779

File B:
AAA	BBB	223	DDD	EE1	FFF	GGG	HH1	1	10444444	1	1	1	1
AAA	BBB	224	DDD	EE2	FFF	GGG	HH2	a	a1333330	a	a	a	a
AAA	BBB	221	DDD	EE3	FFF	GGG	HH3	b	b1222203	b	b	b	b
AAA	BBB	222	DDD	EE4	FFF	GGG	HH4	c	101111cc	c	c	c	c
AAA	BBB	223	DDD	EE5	FFF	GGG	HH5	d	dd11234560	d	d	d	d

Use this expression as example
A2:B3=A1B5A4B11

"A2" is the second row of file A, which can also be written as "a2"

":" means compare. It refers to "equal" but not "contain". It is case sensitive.

"B3" is the third row of file B, which can also be written as "b3"

"=" indicates the generating result. 

"A1B5A4B11" can also be written as "a1b5a4b11". It means if the second row of file A equals the third row of file B, the result will be: the first row of file A; the fifth row of file B; the forth row of file A; and the eleventh row of file B. Every two elements are separated by "\t" (a Tab). The result is:
000	EE4	333	c
001	EE1	334	1
002	EE2	335	a

If "keeping duplicates" is ticked, file C will be:

000	EE4	333	c
001	EE1	334	1
001	EE5	334	d
002	EE2	335	a

You could have a try. It's easy to use.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

A file "User.ID" will be generated under the directory of software after first running. If you want to register this software, send it to 9044185@qq.com or liruiwang.xm@ccb.com. The author will send back a new "Licence.Cry". Replace the old "Licence.Cry" with this new one, then the program can operate normally.

How to register:
The function of this program is restricted and integral resulting file cannot be generated before registering. Enjoy "Matching-Helper"? Register it!

1-20 registration codes, USD $500 per code.
16-100 registration codes, USD $400 per code.
101-999 registration codes, USD $300 per code.