草庐IT

huge_string

全部标签

java tor String.Match()用于整数

我正在尝试从我的OCR文本检测器中获取某些数字。到目前为止,我还无法成功提取某种格式的数字。该数字看起来与此5225612832654455相似,通常该格式可能像xxxxxxxxxxxxxxxx我需要一个字符串匹配的正则是获得这样的数字。注意:图源还有其他数字,我需要避免在这里捕获是方法ListtextComponents=text.getComponents();for(TextcurrentText:textComponents){floatleft=translateX(currentText.getBoundingBox().left);floatbottom=translateY(c

c++ - std::string 与 unicode 的奇怪行为

我有以下代码:#includestd::stringeps("ε");intmain(){std::cout它以某种方式在Ubuntu上用g++和clang编译,甚至打印出正确的字符ε。我也有几乎相同的一段代码,它愉快地将ε和cin读入std::string。顺便说一下,eps.size()是2。我的问题是-它是如何运作的?我们如何将unicode字符插入到std::string中?我的猜测是操作系统使用unicode处理所有这些工作,但我不确定。编辑对于输出,我知道是终端负责向我显示正确的字符(在本例中为ε)。但是对于输入:cin将符号读取为''或任何其他空格字符(据我所知,逐字节)

c++ - utf-8 中 std::string 的子字符串? C++11

我需要获取假定为utf8的std::string中前N个字符的子字符串。我了解到.substr无法正常工作……正如……预期的那样。引用:我的字符串大概是这样的:任务:\n\n1亿2千匹 最佳答案 我found这段代码,我正要尝试一下。std::stringutf8_substr(conststd::string&str,unsignedintstart,unsignedintleng){if(leng==0){return"";}unsignedintc,i,ix,q,min=std::string::npos,max=std::s

C++中String归纳,相关接口模拟实现,深度理解

目录前言(string简介,及深度理解重要性)一、string的实例化构造1.利用string类接口的构造2.string构造的模拟实现1、构造函数2、拷贝构造二、string的静态变量1、npos介绍及原理​编辑2、npos模拟三、string的遍历方法1、下标遍历下标方括号模拟2、迭代器遍历迭代器及相关函数模拟3、范围for遍历模拟使用范围for的注意事项四、string的容量操作1、max_size():2、size()与capacity()模拟及其原理3、reserve()reserve()原理及其模拟4、resize()五、string的增删查改1、push_back()模拟实现2、

c++ - Visual C++ 2010 拒绝在调试时显示 std::string 值。显示 <Bad Ptr>

我有一种奇怪的感觉,好像这是最近才出现的问题,并且发生在两台不同的计算机上。当我调试并尝试查看来自STL的std::string的值时,它显示为值。它说它的大小是15,容量是一些乱码。数组值本身都显示CXX0030:错误:无法计算表达式。这非常令人沮丧,如果我在字符串上调用c_str并将其分配给char*或在需要时使用监视表达式,我仍然可以在调试时访问字符串值,但它非常乏味并且让生活变得非常艰难连续3天调试复杂问题。其他STL容器的内容显示得很好。这发生在两台不同计算机上的多个项目上,我很确定我已经为该项目设置了所有调试选项。没有优化,肯定会生成调试信息。

c++ - std::string 和 UTF-8 编码的 unicode

如果我理解的很好,可以同时使用string和wstring来存储UTF-8文本。对于char,ASCII字符占用一个字节,一些中文字符占用3或4个字节,等等。这意味着str[3]不一定指向第4个字符。与wchar_t相同,但每个字符使用的最小字节数始终为2(而不是char的1),以及3或4字节宽的字符将占用2个wchar_t。对吗?那么,如果我想对这样一个奇怪编码的字符串使用string::find_first_of()或string::compare()等怎么办?它会工作吗?字符串类是否处理字符具有可变大小的事实?或者我应该只将它们用作虚拟的无特征字节数组,在这种情况下我宁愿选择wc

c++ - std::string _M_leak_hard 和性能问题

在分析C++应用程序时,我注意到以下代码:std::strings;inti;dict[s[i]]++;产生(内联)std::string::_M_leak_hard的调用,链接到std::string::_M_mutate等(gcc-4.7.3),并通过大量CPU指令比较字符串的内部状态,在应该是const上下文的地方并优化为简单的内存读取。我是不是做错了什么?std::string特定于实现的细节链很容易消耗50%的CPU时间。 最佳答案 您正在查看的代码确实是std::string的gcc实现中的unsharing。至于为什么

c++ - 命名空间 'u16string' 中没有名为 'std' 的类型

我正在使用QT5.5.0。当我编译一个程序时,它显示“命名空间‘std’中没有名为‘u16string’的类型”。有趣的是,我以前编译成功了,为什么现在失败了?qstring.h好像有问题。我该如何解决?这是错误发生的地方#ifndefQSTRING_H#defineQSTRING_H#ifdefined(QT_NO_CAST_FROM_ASCII)&&defined(QT_RESTRICTED_CAST_FROM_ASCII)#errorQT_NO_CAST_FROM_ASCIIandQT_RESTRICTED_CAST_FROM_ASCIImustnotbedefinedatthe

c++ - 是否可以从 std::string 中获取内存(就像 string move ctor 那样)?

如果我的内部类是我自己的vector版本(我控制来源)并且为了举例,我不能将其更改为std::string有没有办法从std::string窃取内存,就像std::string的move构造函数一样做。所以像这样:std::stringstr{"abcdefghijklmnopqrstu"};MyVectorCharClassmvc(std::move(str));//Constructortakesmemoryfromstr我想我听说过一些future的建议,以添加.release()至std::string或std::vector但我说的是现在。 最佳答

c++ - 为什么我的 swap<string,string> 比 std 版本慢得多?

这是我的C++代码:inlinestaticvoidswap(std::string&a1,std::string&a2){std::stringtemp(std::move(a1));a1=std::move(a2);a2=std::move(temp);}我运行此函数1000000次,平均耗时78毫秒,但std仅耗时13毫秒。刚刚看了下std::swap的实现,和我的差不多,为什么我的这么慢? 最佳答案 根据标准§21.3.2.8/p1swap[string.special](EmphasisMine):templatevoid