Comments (3)
Yes, indeed, that LGTM. And yes, str::Chars::last
is a O(1)
operation.
Also, if you're searching for a small number of strings, you could also just use a regex
. Although Aho-Corasick will probably be faster. Hard to say.
I'm happy to help with other text search questions you might have. In the future though, it would be much appreciate if you could post your full program. It's hard to help without that.
I'll close this now since it seems like you have an answer!
from aho-corasick.
Why did you close this issue? If you found a solution, please share it. :)
from aho-corasick.
My knowledge of Rust is rather limited so the solution may not be great. Anyway, with help of Rust community, I've come up with:
const DELIMITERS: [char; 17] = [' ', '?', '!', '.', '*', ',', ';', ':', '\n', '\r', '(', ')', '„', '“', '<', '>', '\u{c2a0}' /* non-breaking space */ ];
// The idea is to get str slice up to first matching character (i.e. `start`) and take last character. They say that the last character is not O(n) as one may expect but rather O(1) as there is some specialized code in Rust, so it should be fast.
let to_replace = DELIMITERS.contains(&(&text[0..*start]).chars().last().unwrap());
(the code is simplified to test only character before match)
from aho-corasick.
Related Issues (20)
- For Python wrapper, is it worth switching to new NFA, or sticking to DFA? HOT 2
- [Note] Investigating "transmute slower than intrinsics for vector unpacking" HOT 1
- Serializing pre-built automaton HOT 7
- RFC: review API before 1.0 release HOT 15
- Benchmarks results aren't clear HOT 11
- Default `anchored` value in a new `Input`. HOT 2
- AhoCorasick::memory_usage doctests fail on i686 (and possibly most 32-bit architectures) HOT 3
- nfa::contiguous::tests::swar test failure on s390x (and possibly all big-endian architectures) HOT 3
- Question: Suggestions for handling . wildcards within query patterns HOT 1
- Go wrapper for aho-corasick HOT 10
- A performance issue vs pyahocorasick HOT 3
- Async support HOT 3
- Document order of returned matches HOT 1
- Miri test fails because of neon intrinsic in aho_corasick HOT 12
- `_mm256_loadu_si256` is failed to be inlined for ABI issues HOT 4
- issue with target_feature in Conditional Compilation Tags HOT 3
- Default automaton HOT 7
- Is it ok to replace memchr with stringzilla for better performance? HOT 1
- Make len() available on `Match` HOT 1
- question: comparisson with a regex union. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aho-corasick.