该程序应该通过cin接收输入,对其进行标记,然后输出每个输入以显示它正常工作.它没.
程序编译没有错误,并接受输入,但无法输出任何内容.
我究竟做错了什么?
int main(int argc, char* argv[])
{
string input_line;
while(std::cin >> input_line){
char* pch = (char*)malloc( sizeof( char ) *(input_line.length() +1) );
char *p = strtok(pch, " ");
while (p != NULL) {
printf ("Token: %s\n", p);
p = strtok(NULL, " ");
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我按照这里的代码示例:http://www.cplusplus.com/reference/clibrary/cstring/strtok/
谢谢.
我是tryint来标记文件中的条目.但是line.split("")由于文件之间的空格数不等,我无法使用该选项.我正在从我的文件中复制几行:
"08-09-2010 21:21:46 00:22:7f:a6:9b:69 -79"
"08-09-2010 21:21:46 04:4f:aa:b4:49:49 -79"
"08-09-2010 21:21:46 04:4f:aa:31:4e:59 tikona 18002090044 -83"
"08-09-2010 21:21:46 00:22:7f:26:9b:69 tikona 18002090044 -74"
"08-09-2010 21:21:46 04:4f:aa:34:0d:c9 tikona 18002090044 -82"
"08-09-2010 21:21:46 04:4f:aa:71:4e:59 -85"
"08-09-2010 21:21:46 04:4f:aa:34:21:89 tikona 18002090044 -75"
"08-09-2010 21:21:46 04:4f:aa:34:49:49 tikona 18002090044 -77"
"08-09-2010 21:21:46 04:4f:aa:74:0d:c9 -85"
"08-09-2010 21:22:47 18 APs were seen
"
Run Code Online (Sandbox Code Playgroud)
我需要访问第一列(这是一个datetime对象)第二列(00:22...)和最后一列(-79等).我可以轻松访问第一列和第二列,但不能访问最后一列.当我这样做时info=line.spilt(""),由于第三列可能或可能没有条目,我无法确定令牌号.
我如何访问第4列?有没有办法可以使用info[i].contains(" -")?
我最近遇到了一个奇怪的问题.
我有以下代码来在php中标记字符串:
$ token = strtok($ string,"#");
while ($token != false)
{
echo $token;
$token = strtok("#");
}
Run Code Online (Sandbox Code Playgroud)
我得到的一个简单问题是我正在解析包含许多数字的文件,因此在这种情况下,0将被读作false.因此,解析无法完成.
我该怎么办?
我正在开发一个C/C++应用程序(在Visual Studio 2010中),我需要对逗号分隔的字符串进行标记,我希望它尽可能快.目前我正在使用strtok_s.我跑了一些测试strtok_s对比sscanf,它似乎就像strtok_s是快(除非我写了一个可怕的实现:)),但我想知道如果任何人都可以提出一个更快的替代方案.
我对objective-c没有太多经验,对不起,如果这很明显的话.
我需要的是将NSString分成标记.令牌由空格或另一个符号(不是字母)分隔.问题是我想保留分隔符,除非它们是空格.
例句:"abc,d's,e f." 从这里我想得到:
"a"
"b"
"c"
","
"d"
"'"
"s"
","
"e"
"f"
"."
Run Code Online (Sandbox Code Playgroud)
使用此代码:
NSMutableCharacterSet *separators = [NSMutableCharacterSet punctuationCharacterSet];
[separators formUnionWithCharacterSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSArray *parse_array = [intext componentsSeparatedByCharactersInSet:separators];
Run Code Online (Sandbox Code Playgroud)
我只收到了这些信件.如果我只是过滤空白和NL我会将这些符号和字母一起使用.我需要的是按顺序执行两个解析(首先是空格和Nl,然后是标点符号),但我真的不知道如何在objective-c中执行它.任何人都可以给我一个提示吗?
谢谢!
我需要从c ++对象解析并生成一些文本.
语法是:
command #param #param #param
Run Code Online (Sandbox Code Playgroud)
有一组命令,其中一些没有参数等.参数主要是数字.
问题是:我应该使用Boost Spirit来完成这项任务吗?或者只是简单地将每行评估函数标记为从字符串比较命令,读取其他参数并从中创建cpp对象?
如果你建议使用Spirit或任何其他解决方案,如果你能提供一些与我的问题类似的例子,那将是很好的.我已阅读并尝试了Boost Spirit doc中的所有示例.
我有一个文本字段,其定义如下:
<fieldType name="myTextField" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="1"
maxGramSize="40"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Run Code Online (Sandbox Code Playgroud)
现在,我有一个包含此文本的字段:"嗨,这是关于solr的问题"
另一个包含此文本的字段:"aaa solr bbb"
当我的查询字符串是"about solr"时,我得到两个字段作为结果,虽然我只想要第一个,因为它是唯一包含所有字符(包括空格)的字符串.这不仅发生在空白区域,还与其他特殊字符如":"一起发生.用括号搜索(关于solr)没有用.
注意:在搜索之前我正在逃避我的字符串:
String s1 = ClientUtils.escapeQueryChars(s);
Run Code Online (Sandbox Code Playgroud)
有什么建议?
在调用时word_tokenize我收到以下错误:
File "C:\Python34\lib\site-packages\nltk\tokenize\punkt.py", line 1322,
in _slices_from_text for match in
self._lang_vars.period_context_re().finditer(text):
TypeError: expected string or buffer
Run Code Online (Sandbox Code Playgroud)
我有一个大文本文件(1500.txt),我想从中删除停用词.我的代码如下:
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
with open('E:\\Book\\1500.txt', "r", encoding='ISO-8859-1') as File_1500:
stop_words = set(stopwords.words("english"))
words = word_tokenize(File_1500)
filtered_sentence = [w for w in words if not w in stop_words]
print(filtered_sentence)
Run Code Online (Sandbox Code Playgroud) 这个简单的函数用于检查传递的字符串标记是否是运算符,如果它们返回true.
bool isOp(std::string tokens){
for (int i = 0; i < tokens.size(); i++) {
if (tokens[i] == "+" || tokens[i] == "-" || tokens[i] == "*" || tokens[i] == "/"){
return true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它不会编译,我得到一个意外的错误,说"ISO C++禁止指针和整数[-fpermissive]之间的比较",我不明白的是,我不是比较一个整数的指针,我将字符串与字符串进行比较?那么为什么我会得到这个错误,我该如何解决呢?
有什么方法可以在keras标记程序中包含标点符号?
我想改变一下...
从
Tomorrow will be cold.
Run Code Online (Sandbox Code Playgroud)
至
Index-tomorrow, Index-will,...,Index-point
Run Code Online (Sandbox Code Playgroud)
我该如何实现?