We have an article that covers partial string search with hyphenated content: https://learn.microsoft.com/en-us/azure/search/search-query-partial-matching
The test cases used to write that article are similar to the example you provided in your question. On the indexing side, assign an analyzer to that field that keeps the string whole. On the query side, your partial query might now just work: SWC330-32-O43. Mine did. But if it doesn't, you should add wildcard operators /.SWC330-32-O43.