Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Confirm
Close Dialog

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");
	}
}