Способ с R
, разделение строки на каждом space
, а затем подсчет вхождений разных элементов:
EDIT С вашей третьей строкой и новым ограничением, если элементы могут быть разделены пробелом или открывающий или закрывающий кронштейн:
str <- "<= < / + * + cos sin (service <= service)+ * hello)rate"
mathsubstring <- c("<=", "<", "/", "+", "cos", "sin")
t_elt <- table(strsplit(str, " |\\(|\\)"))
t_elt[mathsubstring]
blockquote><= < / + cos sin 2 1 1 3 1 1
Если вы хотите узнать общее количество вхождений математических подстрок:
sum(t_elt[mathsubstring]) #[1] 9
Предыдущий код с предыдущим
str
table(strsplit(str, " ")) * / + < <= cos service sin 2 1 3 1 2 1 2 1
После этого вы можете удалить
service
(или другие несимметричные символы), если хотите:tab <- table(strsplit(str, " ")) mathsubstring <- c('<=', '<', '/', '+', 'cos', 'sin') tab[names(tab) %in% mathsubstring]
С вашей второй строкой:
str = "<= < / + * + cos sin service <= service + * hello rate" table(strsplit(str, " ")) * / + < <= cos hello rate service sin 2 1 3 1 2 1 1 1 2 1
Это потому, что в 99% случаев ваша локальная версия npm отличается от серверной версии npm, однако вам это не нужно, и в идеале не следует устанавливать npm на свой сервер, потому что npm и node_modules предназначены только для разработки и все, что вам нужно сделать использовать скомпилированный файл js/css
для вашего проекта. опять же нет необходимости устанавливать npm на ваш сервер.
С наилучшими пожеланиями