Talk:Substring

From Rosetta Code
Revision as of 23:30, 2 June 2011 by rosettacode>Markhobley (whole string minus first character here)

The individual subtasks here seem to cover only certain particular arbitrary use cases and not others. Why not have

  • substring that starts at index n and ends at index m
  • substring that starts at index n and ends at m places before the end of the string
  • substring that starts at n places before the end of the string and is of length m
  • and so on

Also, the last two subtasks seem very obscure and contrived. No language seems to have built-in methods for them. It seems that all the solutions are basically (1) find the character or substring we are looking for, and (2) use the first subtask ("starting from n characters in and of m length") to get the result. Why not just put the finding the character or substring part as a separate article? --76.173.203.32 09:28, 10 August 2009 (UTC)


> The individual subtasks here seem to cover only certain particular arbitrary use cases and not others.

I thought it would be overly repetitious and verbose to cover all cases.

> Also, the last two subtasks seem very obscure and contrived. No language seems to have built-in methods for them.

Yes, I think you're right. I expected Ruby to have this feature but it turned out not to. Leaving the only language I know that does as XSLT http://www.zvon.org/xxl/XSLTreference/Output/function_substring-after.html Hardly significant enough to justify those two subtasks. If you're happy to make those changes I'll support them.

Oligomous 17:48, 10 August 2009 (UTC)


For what it's worth, the last Snobol4 subtask was incorrect, though it happened to return the right result. The break( ) pattern creates a character class like regex [ ], not a substring to match. Fixed. --Snoman 11:32, 12 July 2010 (UTC)

In the same way that we have "whole string minus last character", we also need "whole string minus first character here", because there may be a separate handler within the language for removing a single leading character without needing to substring from characters 2 to end.

Markhobley 23:30, 2 June 2011 (UTC)