April 21, 2009
void main(){}

char[] ctfe_lower(char[] s){
	char[] res	;
	foreach(int i, c;s){
		if( c >= 'A' && c <='Z' ){
			res	~= c + 32 ;
		}else{
			res	~= c;
		}
	}
	return res;
}

char[] ctfe_remove(char[] _if, char[] remove){
	_if		= ctfe_lower(_if.dup);
	char[] limit	= ctfe_lower(remove.dup);
	int len	= limit.length;
	char[] _if2	= null;
	foreach(int i, c; _if){
		if( _if.length - i > len ){
			if( _if[i..i+len] == limit ){
				if( _if[i+len] is ' ' ){
					_if2	= _if[0..i].dup;
					break;
				}
			}
		}
	}
	if( _if2 is null ){
		_if2	= _if.dup;
	}
	return _if2;
}

pragma(msg, ctfe_remove("1234 5", "34") );
April 21, 2009
On Tue, 21 Apr 2009 09:33:19 +0400, long <changlon@gmail.com> wrote:

>
> void main(){}
>
> char[] ctfe_lower(char[] s){
> 	char[] res	;
> 	foreach(int i, c;s){
> 		if( c >= 'A' && c <='Z' ){
> 			res	~= c + 32 ;
> 		}else{
> 			res	~= c;
> 		}
> 	}
> 	return res;
> }
>
> char[] ctfe_remove(char[] _if, char[] remove){
> 	_if		= ctfe_lower(_if.dup);
> 	char[] limit	= ctfe_lower(remove.dup);
> 	int len	= limit.length;
> 	char[] _if2	= null;
> 	foreach(int i, c; _if){
> 		if( _if.length - i > len ){
> 			if( _if[i..i+len] == limit ){
> 				if( _if[i+len] is ' ' ){
> 					_if2	= _if[0..i].dup;
> 					break;
> 				}
> 			}
> 		}
> 	}
> 	if( _if2 is null ){
> 		_if2	= _if.dup;
> 	}
> 	return _if2;
> }
>
> pragma(msg, ctfe_remove("1234 5", "34") );

Bug reports should be posted in bugzilla, this newsgroup is just for easy tracking of new bug-reports.
At least, it works that way only, and posting here doesn't introduce new bugzilla entries automatically.

http://d.puremagic.com/issues/