Getting the Length of a String and the Size of a List

Keeping with the theme of working with Strings, there are many times when you need to know the length of that string. For example, when using substring, you want to know how many characters are in the text you just read from the site. Of you want to make sure the text actually has a length or else there is nothing to act upon.

For example, take this small snippet of code:

String address=”1650 E WASHINGTON AVE, NORTH LITTLE ROCK, AR 72114″

println(address.length())

The result would be 50 as there are 50 characters in the line. The length includes the commas.

This could be used to verify the length of a state abbreviation is 2 characters. It could also be used to verify a phone number is 10 digits or that a name is less than 25 characters, such as:

if (address.length()==0)

if (address.length()<2)

In conjunction with the length of a string, it’s possible to get the size of a list. In Groovy, a List is the same as a one dimensional array. A simple List can be set up as:

months=[‘January’, ‘February’, ‘March’, ‘April’, ‘May’, ‘June’, ‘July’, ‘August’, ‘September’, ‘October’, ‘November’, ‘December’]

The variable “months” is the name of my List and it has multiple elements. Each element is within single quotes and separated by a comma. The List also contains an opening and closing bracket.

Another familiar type of List would be state abbreviations. A List of states would be:

states=[‘AL’,’AK’,’AZ’,’AR’,’CA’,’CO’,’CT’,’DE’,’FL’,’GA’,’HI’,

‘ID’,’IL’,’IN’,’IA’,’KS’,’KY’,’LA’,’ME’,’MD’,’MA’,’MI’,’MN’,’MS’,

‘MO’,’MT’,’NE’,’NV’,’NH’,’NJ’,’NM’,’NY’,’NC’,’ND’,’OH’,’OK’,’OR’,

‘PA’,’RI’,’SC’,’SD’,’TN’,’TX’,’UT’,’VT’,’VA’,’WA’,’WV’,’WI’,’WY’]

Although these are static Lists, we can still get the size. The following command can return how many elements are within each list.

println(months.size()) – Would return 12.

println(states.size()) – Would return 50.

Building on this theme, we could then create a list of cities:

cities=[‘Dentsville’,’Woodcreek’,’Las Lomitas’,’Kings Park’,’Willisville’]

And then street names:

streetName=[‘James Kaur’,’Grace Burns’,’Alfie Robertson’,’Harry Wilson’]

And keep going until we created the building blocks to generate a random contact name. This was done within my code to create a random user including name, address, city, state, zip, phone number, email address and company. The length of each list is different, but using the .size() method, I can generate a random number and pick an element from the list.

For example, to pick a random streetName:

number=Math.abs(new Random().nextInt(streetName.size()))

customerStreetName=streetName[number]

The idea would repeat for setting up all the other parts of the customer data.

Other articles of interest:

Leave a Reply

Your email address will not be published. Required fields are marked *

Recent Comments
  • How To Disable the Quicken Registration Prompt (32)
    • Mike: Hi, for anyone still trying to run older versions of Quicken, mine is 2004, I hope this helps. I managed to get it running on my old laptop by adding the three missing dll files, when I needed to upgrade I thought I would be able...
    • Juani: Hi, I have a registered Quicken 2016 and now my files are being held hostage by Intuit, cannot log in with my ID unless I upgrade therefore buy a subscription, I need to access my files, please HELP. Thanks
    • David: A BIG Thank you! I regularly reinstall Windows OS’s using different hardware configs. In short, Quicken 2011 (it’s March of 2020 as I write this) has been a program I’ve been very happy with and continue to use....
    • Karen L: Today I rang Reckon Australia again, got a different guy and he talked me through the process of getting me a new product key to enter since I already had the licence and it had been extended. Reckon have only extended it by 1...
    • Karen L: I have Australian Quicken 2008 on Windows 8.1. It keeps asking me to renew my licence which Reckon did for me however the activation won’t work. I tried this to disable the registration prompt however it did not stop the...
  • Enter dates into a date picker for Chrome and Firefox (1)
    • Prasanna: Hello, How to enter a previous month FIRST day and LAST day from the system date. Thanks Prasanna
  • Building Relationships with Developers (1)
    • Carlos Herrera: Ah yes. I have a team of software developers and it is genuinely so hard to keep them in the loop during projects. Though the more we work the better the communication becomes and we go from a trail and error process to a...
  • Integrating DevonAgent Pro with Alfred (1)
    • J. Garr: Beautiful, sweet, and simple. I love it; thanks for posting this solution.
  • Round and Round with the For..Next in Katalon Studio (1)
    • Sweet Ophaline Labador: Hello can you help me how to loop this scenario. Checking the elements is just the same. I want to check that the following function is available in www.siacargo.com: Track Shipment – clicking on this can...
  • Parsing Strings in Katalon – Split, Substring and Readlines (6)
    • Don Pedro: String tempText=”Date Month January. Revenue $1,355,721.00″ println(tempText.split(“ \$”)[1]) You need to escape the $ with \$ The [1] on the split captures characters on the right of the split [0]...
    • Prasad: Hi, I need to get the substring from the below string ‘Date Month January. Revenue $1,355,721.00’ I want to extract text after $ value. Please help Thank you
  • Working with Dates and Date Formatting in Katalon Studio (15)
    • Sangeethaa: How to get previous day’s date(Yesterday’s date)? Actually I was using today.previous() before,it was working fine till today morning.Now its not retrieving right date. Can anyone please guide me on this.
    • Don Pedro: That could be a little tricky. First, is the text/format always going to be the same? You will need to do some parsing. Separate the first but of text at 2019. After that, split the text again to get rid of Central Standard...
  • Output status messages and test information by writing to the Log File Viewer in Katalon Studio (6)
    • Saranya: Good One. Could you plz share link to access all your katalon related blogs. ThankQ
    • Rodrigo Calabretta: I’m using the KeywordUtil.markFailed or KeywordUtil.markError and my test stops is being shown as Error and If I use in the @afterTestCase the testCaseContext.getTestCaseSta tus() to show the status test case...