Dashboards & Visualizations

Extract fields in specific position

marco_massari11
Communicator

Hi,

I have some logs like this:

fields ............................................. Location=Location#All Locations#Site#City#E-MY-SIT-00-XYZ#TEST, fields..........................

So I need to extract for example E-MY-SIT-00-XYZ from Location field. The string E-MY-SIT-00-XYZ could be different but the schema is always 1Letter-2letters-3letters-2numbers-3letters. Can you help me to extract the string?

Thank you in advance

Labels (2)
0 Karma
1 Solution

gcusello
SplunkTrust
SplunkTrust

Hi @marco_massari11,

if you already extracted the location field, you can restrict the regex to the content of this field instead to the full event.

Then you have to create a regex that matches the rule of your field to extract:

  • letters are \w
  • numbers are \d
  • the other chars are the same (e.g. "-") or eventually escaped (e.g. you have to escape = or ")")

in other words, you have to try something like this:

| rex field=Locatioon "(?<your_field>\w-\w\w-\w\w\w-\d\d-\w\w\w#\w\w\w\w)"

regex that you can test at https://regex101.com/r/esbM8c/1

If you're not sure about the number of digits or letters, you can use the repeter in this way:

| rex field=Location "(?<your_field>\w-\w+-\w+-\d+-\w+#\w+)"

Ciao.

Giuseppe

View solution in original post

gcusello
SplunkTrust
SplunkTrust

Hi @marco_massari11,

if you already extracted the location field, you can restrict the regex to the content of this field instead to the full event.

Then you have to create a regex that matches the rule of your field to extract:

  • letters are \w
  • numbers are \d
  • the other chars are the same (e.g. "-") or eventually escaped (e.g. you have to escape = or ")")

in other words, you have to try something like this:

| rex field=Locatioon "(?<your_field>\w-\w\w-\w\w\w-\d\d-\w\w\w#\w\w\w\w)"

regex that you can test at https://regex101.com/r/esbM8c/1

If you're not sure about the number of digits or letters, you can use the repeter in this way:

| rex field=Location "(?<your_field>\w-\w+-\w+-\d+-\w+#\w+)"

Ciao.

Giuseppe

marco_massari11
Communicator

Hi @gcusello ,

Thank you so much for your help. It works perfectly.

Ciao

Marco

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Fuel Your Journey: What’s Waiting for You at the .conf26 Acceleration Station

Navigating the show floor at .conf26 isn't just about keynotes and technical breakout sessions; it's also ...

Join the Final Session of the Data Management & Federation Bootcamp Series

Over the past three sessions of the Data Management & Federation Bootcamp Series, we've explored how to build ...

From Data to Insight: Announcing the Winners of the Splunk Dashboard Contest

Hi Splunkers, First off, thank you to everyone who participated in our very first From Data to Insight: The ...