This is stest2.m in view mode; [Download] [Up]
// Written by Carl Lindberg Copyright (c) 1994 by Carl Lindberg.
// Version 1.0. All rights reserved.
//
// This notice may not be removed from this source code.
//
// This program is included in the MiscKit by permission from the author
// and its use is governed by the MiscKit license, found in the file
// "LICENSE.rtf" in the MiscKit distribution. Please refer to that file
// for a list of all applicable permissions and restrictions.
//
#import "mscarl.h"
char *names[12] = {
"MISC_UPPER",
"MISC_LOWER",
"MISC_DIGIT",
"MISC_XDIGIT",
"MISC_PUNCT",
"MISC_ASCII",
"MISC_CNTRL",
"MISC_PRINT",
"MISC_SPACE",
"MISC_GRAPH",
"MISC_ALPHA",
"MISC_ALNUM"
};
int values[12] = {1,2,4,8,16,32,64,128,256,512,3,7};
#define NUMSTRS 2
char *strs[NUMSTRS] = { "Hello my dear [] 345 How ''are78 we?",
"OH! DARLING"
};
void main()
{
int i,j,k,l;
id str = [MiscString new];
for (i=0;i<NUMSTRS;i++) {
printf("------------------------------------------------\n");
printf("String is: <%s>\n",strs[i]);
[str setStringValue:strs[i]];
for (j=0;j<12;j++) {
printf("Is all %s? %d\n",names[j],[str isAllOfType:values[j]]);
printf("Has %s? %d\n",names[j],[str hasType:values[j]]);
printf("Num of %s: %d\n",names[j],[str numOfType:values[j]]);
printf("spotsof %s: ",names[j]);
for (k=0;(l=[str spotOfType:values[j] occurrenceNum:k])>=0;k++) printf("%d ",l);
printf("\n");
printf("rspotsof %s: ",names[j]);
for (k=0;(l=[str rspotOfType:values[j] occurrenceNum:k])>=0;k++) printf("%d ",l);
printf("\n");
for (k=-1;k<5;k++) printf("replace %dth %s with '*': <%s>\n",k,names[j],
[[[str copy] replaceType:values[j] withChar:'*' occurrenceNum:k] stringValueAndFree]);
printf("replaceAll %s with '*': <%s>\n",names[j],[[[str copy] replaceEveryOccurrenceOfType:values[j] withChar:'*'] stringValueAndFree]);
}
}
[str free];
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.