我试图使用正则表达式来替换字符串中所有出现的英国汽车注册.
以下swift代码完全适用于字符串与正则表达式完全匹配时的情况.
var myString = "DD11 AAA"
var stringlength = countElements(myString)
var ierror: NSError?
var regex:NSRegularExpression = NSRegularExpression(pattern: "^([A-HK-PRSVWY][A-HJ-PR-Y])\\s?([0][2-9]|[1-9][0-9])\\s?[A-HJ-PR-Z]{3}$", options: NSRegularExpressionOptions.CaseInsensitive, error: &ierror)!
var modString = regex.stringByReplacingMatchesInString(myString, options: nil, range: NSMakeRange(0, stringlength), withTemplate: "XX")
print(modString)
Run Code Online (Sandbox Code Playgroud)
结果是 XX
但是,以下操作无效,字符串未修改
var myString = "my car reg 1 - DD11 AAA my car reg 2 - AA22 BBB"
var stringlength = countElements(myString)
var ierror: NSError?
var regex:NSRegularExpression = NSRegularExpression(pattern: "^([A-HK-PRSVWY][A-HJ-PR-Y])\\s?([0][2-9]|[1-9][0-9])\\s?[A-HJ-PR-Z]{3}$", options: NSRegularExpressionOptions.CaseInsensitive, error: &ierror)!
var modString = regex.stringByReplacingMatchesInString(myString, options: nil, range: NSMakeRange(0, stringlength), …Run Code Online (Sandbox Code Playgroud) 我尝试从目标文件中删除符号,如下所示:
gcc -c test.c
strip --strip-symbol=test_sym test.o test.o
Run Code Online (Sandbox Code Playgroud)
test_sym是一个在 中实现的函数test.c。
strip返回以下消息:
strip: not stripping symbol 'test_sym' because it is named in a relocation.
Run Code Online (Sandbox Code Playgroud)
由于该符号是在同一文件中实现的,因此会出现该错误。但是有没有办法删除该符号?
class Test{
public:
int work(){
cout << "in work " << endl;
return 0;
}
void work(int x){
//cout << "x = " << x << endl;
cout << "in work..." << endl;
}
};
int main(){
Test test;
std::function<void()> f = std::bind(&Test::work, &test);
thread th(f);
th.join();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如上面的代码,我想绑定void work(void)一个类的成员函数(让我们将它命名为Test),但是发生编译错误,说无法确定使用哪个重写函数.
我不能改变类Test因为它属于lib,如何实现我的目标?提前致谢!
下面的代码给了我一个错误.有没有办法简单地让这个回报为零?
var testArray: [Int]?
testArray = [1,2,3]
testArray?[9]
Run Code Online (Sandbox Code Playgroud) 有没有办法检查是否满足所有条件?例如:
if(num[i] > (*all*)alt[c])
{
}
Run Code Online (Sandbox Code Playgroud)
而不是这样做
if(num[i] > alt[1] && num[i] > alt[2] && num[i] > alt[3])
{
}
Run Code Online (Sandbox Code Playgroud)
就像有一个更短的方式?
是否有基于数据成员或成员函数对对象数组进行排序或过滤的标准方法?
我正在寻找一个标准函数,如getLowestValue下面的代码:
class Grade
{
public:
Grade() : _grade(0) {}
void setGrade(int i) { _grade = i; }
int getGrade() const { return _grade; }
private:
int _grade;
}
int main()
{
Grade grades[10];
for(int i = 0; i < 10; i++)
grades[i].setGrade(generateRandomNumber());
Grade *lowestGrade = getLowestValue(grades, Grade::getGrade); //???
std::cout << "lowest grade: " << lowestGrade->getGrade() << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud) 这是我的代码:
#include <iostream>
using namespace std;
int main()
{
char character;
int x;
cout << "Input a character: " ;
cin >> character;
x = int(character);
cout << "Its integer value is: " << x << endl;
int arr[7], i=0,j;
while(x>0)
{
arr[i]=x%2;
i++;
x=x/2;
}
cout << "Its Binary format is: ";
for (j=i; j>=0;j--)
{
cout<<arr[j];
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我只为此代码分配了8个数组空间,但显示的结果大于8,与算法完全无关.我怀疑这是一个溢出问题.我该如何解决这个问题?谢谢!
问题:如何从作为数组的字符串中提取字符?
解释:正常字符串
string example=("Stack Over Flow");
cout<<example[1];
Run Code Online (Sandbox Code Playgroud)
输出将是:
t
Run Code Online (Sandbox Code Playgroud)
我想要的是从字符串数组中提取一个字母示例:
string str[4];
str[0]="1st";
str[1]="2nd";
str[2]="3rd";
str[3]="4th";
cout<<str[2];
Run Code Online (Sandbox Code Playgroud)
将打印
3rd
Run Code Online (Sandbox Code Playgroud)
我怎么能得到"t" str[0]?
即使我在C++中为类重新定义了析构函数,是否可以调用默认的析构函数?例如,如果我有两个班级
class B{
...
};
class A{
private:
B* p;
public:
A(B b):p(new B(b)){...}
...
~A(){delete p;}
};
Run Code Online (Sandbox Code Playgroud)
我并不总是想删除p指向的对象.
我是编程新手,我开始阅读一些c/c ++书籍以便更好地理解.所以我不是新手,我会直接谈到这个话题.我想制作一个显示从a到z的所有字母的程序,所以我制作了2个程序.一个在C中,另一个在C++中.C中的那个按预期工作,这里是代码:
#include <stdio.h>
void alfa(){
char c;
for(c='A'; c<='Z'; ++c)
printf("%c ",c);
}
int main()
{
alfa();
getchar();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是C++中的另一个显示"["或数字..
#include <iostream>
using namespace std;
void alphabet(){
char abc;
for(abc='A'; abc<='Z'; abc++);
cout<<abc;
}
int main(){
cout<<"This will show letters from a to z"<<endl;
alphabet();
cin.ignore();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
PS:如果我在一个函数中创建了c ++程序它可以工作......但我仍然在学习,我希望它被调用.谢谢