User:Tom.Reding/Inc & Dec AWB Module

  • I made this since AWB doesn't have native increment/decrement functions, as far as I can tell.
  • AWB runs custom modules after before your regex rules, so prepare your rules such that pressing F5 (Edit box rclick > Re-parse) doesn't break anything.
  • Surround any numbers you want to increment by 1 with "+++", and any numbers you want to decrement by 1 with "---" (keyboard hyphens); +++19+++---16--- produces 2015.
  • The script also removes

PRESS F5 TO INC +++n+++ AND DEC ---n---
=======================================

which I like to add so I don't miss it.

Inc & Dec Custom Module

public string ProcessArticle(string ArticleText, string ArticleTitle, int wikiNamespace, out string Summary, out bool Skip)
	{
	Skip = false;
	Summary = "";
	
// Created to give AWB increment/decrement functions.
// User:Tom.Reding/Inc & Dec AWB Module
	string pattern_inc = @"(?:(\+\+\+)(\d+)(\+\+\+))";	// regex pattern for incrementation
	string pattern_dec = @"(?:(---)(\d+)(---))";		// regex pattern for decrementation
	string pattern_instructions = @"(PRESS F5 TO INC \+\+\+n\+\+\+ AND DEC ---n---(\s+\=+\s{0,2})?)";
	string matched_text;
	string matched_num;
	int numi;
	string incremented_num;
	string decremented_num;
   	
// increment
	Match m = Regex.Match(ArticleText, pattern_inc);
	if (m.Success)
		{
		matched_text = m.Value;
		matched_num = matched_text.Trim('+');
		
		numi = Convert.ToInt32(matched_num);
		numi = numi + 1;
		incremented_num = numi.ToString();
		
		ArticleText = Regex.Replace(ArticleText, pattern_inc, incremented_num);
		}
	
// decrement
	Match m2 = Regex.Match(ArticleText, pattern_dec);
	if (m2.Success)
		{
		matched_text = m2.Value;
		matched_num = matched_text.Trim('-');
		
		numi = Convert.ToInt32(matched_num);
		numi = numi - 1;
		decremented_num = numi.ToString();
		
		ArticleText = Regex.Replace(ArticleText, pattern_dec, decremented_num);
		}
	
// cleanup: remove instructions
	Match m3 = Regex.Match(ArticleText, pattern_instructions);
	if (m3.Success)
		{
		ArticleText = Regex.Replace(ArticleText, pattern_instructions, "");
		}
	return ArticleText;
	}

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.