Вот другой для C#, который я использовал при выполнении демонстрационного управления сервером. Это может быть найдено в книге ASP.NET 3.5 Пошаговых (Нажатие MS). Это - два метода, один для разделения небуквенно-цифрового индикатора и другого для проверки на палиндром.
protected string StripNonAlphanumerics(string str)
{
string strStripped = (String)str.Clone();
if (str != null)
{
char[] rgc = strStripped.ToCharArray();
int i = 0;
foreach (char c in rgc)
{
if (char.IsLetterOrDigit(c))
{
i++;
}
else
{
strStripped = strStripped.Remove(i, 1);
}
}
}
return strStripped;
}
protected bool CheckForPalindrome()
{
if (this.Text != null)
{
String strControlText = this.Text;
String strTextToUpper = null;
strTextToUpper = Text.ToUpper();
strControlText =
this.StripNonAlphanumerics(strTextToUpper);
char[] rgcReverse = strControlText.ToCharArray();
Array.Reverse(rgcReverse);
String strReverse = new string(rgcReverse);
if (strControlText == strReverse)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
Вы можете попробовать использовать модуль подпроцесса ( subprocess.Popen
, subprocess.call
или что-то еще) с аргументом shell = True
, если вы не хотите запускать окно консоли.