cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Browse apps to extend the software in the new JMP Marketplace
%3CLINGO-SUB%20id%3D%22lingo-sub-723579%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EZeichenfolge%2C%20die%20Zahlen%20enth%C3%A4lt%2C%20aus%20Text%20entfernen%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-723579%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHallo%2C%3CBR%20%2F%3E%20ist%20das%20eine%20M%C3%B6glichkeit%2C%20mit%20JSL%20alle%20Zeichenfolgen%20zu%20entfernen%2C%20die%20Zahlen%20enthalten%3F%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EBeispiel%3A%3CBR%20%2F%3E%20Ich%20habe%20%3CSTRONG%3E4%3C%2FSTRONG%3E%20%C3%84pfel%20und%20%3CSTRONG%3E2%3C%2FSTRONG%3E%20Bananen%20gegessen%3CBR%20%2F%3E%20die%20Modellnummer%20ist%20%3CSTRONG%3E0998GBELS%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E03%2F45%3C%2FSTRONG%3E%20ist%20das%20zu%20pr%C3%BCfende%20Verh%C3%A4ltnis%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EGezielte%20Ausgabe%3A%3C%2FP%3E%3CP%3EIch%20habe%20%C3%84pfel%20und%20Bananen%20gegessen%3CBR%20%2F%3E%20Die%20Modellnummer%20ist%3C%2FP%3E%3CP%3E%3CSTRONG%3E%20%3C%2FSTRONG%3Eist%20das%20zu%20pr%C3%BCfende%20Verh%C3%A4ltnis%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-723579%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EAutomatisierung%20und%20Skripting%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-723612%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EBetreff%3A%20Zeichenfolge%20mit%20Zahlen%20aus%20Text%20entfernen%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-723612%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EIch%20bin%20nicht%20sicher%2C%20ob%20das%20in%20allen%20Situationen%20funktioniert%2C%20aber%20f%C3%BCr%20diese%20Beispiele%20funktioniert%20es.%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%0A%0Astrs%20%3D%20%7B%0A%22I%20ate%204%20apples%20and%202%20bananas%22%2C%0A%22the%20model%20number%20is%200998GBELS%22%2C%0A%2203%2F45%20is%20the%20ratio%20to%20check%22%0A%7D%3B%0A%0Aresult2%20%3D%20Transform%20Each(%7Bstr%7D%2C%20strs%2C%0A%09Regex(str%2C%20%22%5Cw*%5CS*%5Cd%2B%5Cw*%5CS*%22%2C%20%22%22%2C%20GLOBALREPLACE)%0A)%3B%0A%0Ashow(result2)%3B%20%2F%2F%20result2%20%3D%20%7B%22I%20ate%20apples%20and%20bananas%22%2C%20%22the%20model%20number%20is%20%22%2C%20%22%20is%20the%20ratio%20to%20check%22%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3EBearbeiten%3A%3C%2FP%3E%0A%3CP%3EIch%20denke%2C%20dass%20regul%C3%A4re%20Ausdr%C3%BCcke%20etwas%20vereinfacht%20werden%20k%C3%B6nnen%20zu%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ERegex(str%2C%20%22%5CS*%5Cd%2B%5CS*%22%2C%20%22%22%2C%20GLOBALREPLACE)%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fregex101.com%2Fr%2FPM4UQn%2F1%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fregex101.com%2Fr%2FPM4UQn%2F1%3C%2FA%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-723611%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EBetreff%3A%20Zeichenfolge%20mit%20Zahlen%20aus%20Text%20entfernen%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-723611%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EIch%20muss%20viele%20Zeilen%20verarbeiten%20(Hunderte%20Millionen)%2C%20was%20zu%20einer%20h%C3%B6heren%20Latenz%20f%C3%BChrt.%20Ich%20frage%20mich%2C%20ob%20es%20eine%20bessere%20M%C3%B6glichkeit%20gibt%2C%20die%20Zeichenfolgen%20zu%20entfernen%2C%20die%20Zahlen%20mit%20geringerer%20Latenz%20enthalten%3F%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-723591%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EBetreff%3A%20Zeichenfolge%20mit%20Zahlen%20aus%20Text%20entfernen%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-723591%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EDies%20funktioniert%2C%20aber%20jemand%2C%20der%20mit%20regul%C3%A4ren%20Ausdr%C3%BCcken%20vertraut%20ist%2C%20k%C3%B6nnte%20das%20Skript%20vereinfachen%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(%201%20)%3B%0AtheString%20%3D%20%22I%20ate%204%20apples%20and%202%20bananas%0Athe%20model%20number%20is%200998GBELS%0A%0A03%2F45%20is%20the%20ratio%20to%20check%22%3B%0A%0AtheList%20%3D%20Words(%20theString%2C%20%22%20%5C!n%5C!r%5C!t%22%20)%3B%0AadjustedString%20%3D%20%22%22%3B%0AFor%20Each(%20%7Bmember%7D%2C%20theList%2C%0A%09Show(%20member%20)%3B%0A%2F%2Fmember%3Dthelist%5B1%5D%0A%09found%20%3D%20%22No%22%3B%0A%09If(%20!Contains(%20member%2C%20%220%22%20)%2C%0A%09%09If(%20!Contains(%20member%2C%20%221%22%20)%2C%0A%09%09%09If(%20!Contains(%20member%2C%20%222%22%20)%2C%0A%09%09%09%09If(%20!Contains(%20member%2C%20%223%22%20)%2C%0A%09%09%09%09%09If(%20!Contains(%20member%2C%20%224%22%20)%2C%0A%09%09%09%09%09%09If(%20!Contains(%20member%2C%20%225%22%20)%2C%0A%09%09%09%09%09%09%09If(%20!Contains(%20member%2C%20%226%22%20)%2C%0A%09%09%09%09%09%09%09%09If(%20!Contains(%20member%2C%20%227%22%20)%2C%0A%09%09%09%09%09%09%09%09%09If(%20!Contains(%20member%2C%20%228%22%20)%2C%0A%09%09%09%09%09%09%09%09%09%09If(%20!Contains(%20member%2C%20%229%22%20)%2C%0A%09%09%09%09%09%09%09%09%09%09%09adjustedString%20%3D%20Trim(%20adjustedString%20%7C%7C%20%22%20%22%20%7C%7C%20member%20)%0A%09%09%09%09%09%09%09%09%09%09)%0A%09%09%09%09%09%09%09%09%09)%0A%09%09%09%09%09%09%09%09)%0A%09%09%09%09%09%09%09)%0A%09%09%09%09%09%09)%0A%09%09%09%09%09)%0A%09%09%09%09)%0A%09%09%09)%0A%09%09)%0A%09)%3B%0A)%3B%0A%0AShow(%20adjusted%20String%20)%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
dadawasozo
Level IV

remove string that contains number from text

Hi,
 is that a way to remove any string that contain numbers using JSL?

 

Example:
I ate 4 apples and 2 bananas
the model number is 0998GBELS

03/45 is the ratio to check

 

Targeted Output:

I ate apples and bananas
the model number is 

 is the ratio to check

 

3 REPLIES 3
txnelson
Super User

Re: remove string that contains number from text

This works, but someone familiar with Regular Expressions would be able to simplify the script

Names Default To Here( 1 );
theString = "I ate 4 apples and 2 bananas
the model number is 0998GBELS

03/45 is the ratio to check";

theList = Words( theString, " \!n\!r\!t" );
adjustedString = "";
For Each( {member}, theList,
	Show( member );
//member=thelist[1]
	found = "No";
	If( !Contains( member, "0" ),
		If( !Contains( member, "1" ),
			If( !Contains( member, "2" ),
				If( !Contains( member, "3" ),
					If( !Contains( member, "4" ),
						If( !Contains( member, "5" ),
							If( !Contains( member, "6" ),
								If( !Contains( member, "7" ),
									If( !Contains( member, "8" ),
										If( !Contains( member, "9" ),
											adjustedString = Trim( adjustedString || " " || member )
										)
									)
								)
							)
						)
					)
				)
			)
		)
	);
);

Show( adjusted String );

 

Jim
dadawasozo
Level IV

Re: remove string that contains number from text

I have many lines to process (in hundred millions), doing so will cause higher latency. I wonder if there is a better way to remove those strings that contain number with lower latency ?

 

jthi
Super User

Re: remove string that contains number from text

Not sure i this would work in all situations but it does for these examples

Names Default To Here(1);

strs = {
"I ate 4 apples and 2 bananas",
"the model number is 0998GBELS",
"03/45 is the ratio to check"
};

result2 = Transform Each({str}, strs,
	Regex(str, "\w*\S*\d+\w*\S*", "", GLOBALREPLACE)
);

show(result2); // result2 = {"I ate apples and bananas", "the model number is ", " is the ratio to check"};

Edit:

I think that regex can be simplified a bit to

Regex(str, "\S*\d+\S*", "", GLOBALREPLACE)

https://regex101.com/r/PM4UQn/1 

-Jarmo