Processing Ajax...

Title

Message

Confirm

Confirm

Confirm

Confirm

Are you sure you want to delete this item?

Confirm

Are you sure you want to delete this item?

Convert Copied Chess Game into PGN

Description
This macro converts a copied chess game into a PGN format that can be pasted
into an analysis GUI (like Chessbase). Games can be copied from chess24.com,
chess.com or chesskid.com.
Language
C#.net
Minimum Version
Created By
Mavaddat Javid
Contributors
-
Date Created
Jun 26, 2017
Date Last Modified
Jan 18, 2019

Macro Code

using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
// The 'text' parameter will contain the text from the:
//   - Current Clipboard when run by HotKey
//   - History Item when run from the History Menu
// The returned string will be:
//   - Placed directly on the Clipboard
//   - Ignored by ClipboardFusion if it is 'null'
public static class ClipboardFusionHelper
{
	public static string ProcessText(string text)
	{
		Regex rgx = new Regex(@"\s*(\d{1,3})\.?\s*((?:(?:O-O(?:-O)?)|(?:[KQNBR][a-h]?x?[a-h]x?[1-8])|(?:[a-h]x?[a-h]?[1-8]))\+?\#?)(?:\s*\d+\.?\d+?m?s?)?\s*((?:(?:O-O(?:-O)?)|(?:[KQNBR][a-h]?x?[a-h]x?[1-8])|(?:[a-h]x?[a-h]?[1-8]))\+?\#?)(?:\s*\d+\.?\d+?m?s?)?");
		return rgx.Replace(text, "$1. $2 $3");
	}
}